Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 当我试图垂直对齐字段时,它们不是';表现出我所期望的?(Blackberry JDE4.5.0 eclipse)_User Interface_Blackberry_Rim 4.5 - Fatal编程技术网

User interface 当我试图垂直对齐字段时,它们不是';表现出我所期望的?(Blackberry JDE4.5.0 eclipse)

User interface 当我试图垂直对齐字段时,它们不是';表现出我所期望的?(Blackberry JDE4.5.0 eclipse),user-interface,blackberry,rim-4.5,User Interface,Blackberry,Rim 4.5,我正在使用Eclipse&jde4.5.0插件。如何垂直对齐字段。我们可以对齐像左下,右下,左下,右下,中心,中心,等等字段吗 众所周知,BlackBerry UI字段管理器在处理字段对齐时非常烦人。管理者似乎忽略了所有样式标志(如HCENTER,VCENTER,等等),因此您能够做到这一点的唯一方法是覆盖管理者的子布局方法,然后自己做 这里有一个小片段告诉你我的意思。这个特殊的代码实际上是水平居中,而不是垂直居中,但是一旦你有了这个想法,你就可以实现你需要的任何样式 VerticalField

我正在使用Eclipse&jde4.5.0插件。如何垂直对齐字段。我们可以对齐像
左下
右下
左下
右下
中心
中心
,等等字段吗

众所周知,BlackBerry UI字段管理器在处理字段对齐时非常烦人。管理者似乎忽略了所有样式标志(如
HCENTER
VCENTER
,等等),因此您能够做到这一点的唯一方法是覆盖管理者的
子布局方法,然后自己做

这里有一个小片段告诉你我的意思。这个特殊的代码实际上是水平居中,而不是垂直居中,但是一旦你有了这个想法,你就可以实现你需要的任何样式

VerticalFieldManager    mainmanager     = new VerticalFieldManager(Field.USE_ALL_WIDTH | Field.USE_ALL_HEIGHT)
{
    protected void sublayout( int width, int height ) {

        super.sublayout( width, height );

        width = getWidth();
        height = getHeight();

        for (int i = 0;i < this.getFieldCount() - 1; i++)
        {
            Field field = this.getField(i);
            //this positions the item in the middle of the manager
            int x = (int)((width - field.getWidth()) * 0.50);
            setPositionChild(field, x, field.getTop());
        }
    }
VerticalFieldManager mainmanager=新的VerticalFieldManager(Field.USE_ALL_WIDTH | Field.USE_ALL_HEIGHT)
{
受保护的空位子布局(整数宽度、整数高度){
super.sublayout(宽度、高度);
宽度=getWidth();
高度=getHeight();
对于(int i=0;i
请注意,
USE_ALL_WIDTH
USE_ALL_HEIGHT
样式标志非常重要。如果要进行垂直居中、右下对齐等操作,您需要自己编写定位代码。例如,对于右下对齐,您可以将x位置设置为管理器的宽度减去w字段的idth,y位置到管理器高度减去字段高度

如果希望能够使用一个自定义管理器类来处理多个不同的样式(如右下角、左下角),可以在子布局中添加一些逻辑来检查字段的样式标志,然后适当地定位字段


希望这一切都有意义并对您有所帮助。:

HorizontalFieldManager只接受垂直对齐样式,而VerticalFieldManager只接受水平对齐。仅此而已。 烦人的++