当我尝试垂直对齐字段时,它们的行为不符合我的预期?(Blackberry JDE4.5.0 eclipse)
-
21-09-2019 - |
题
我正在使用 Eclipse 和 JDE 4.5.0 插件。如何垂直对齐字段。我们可以对齐字段吗 LEFT_BOTTOM
,RIGHT_BOTTOM
, LEFT_VCENTER
, RIGHT_VCENTER
, CENTER
(垂直和水平), BOTTOM_CENTER
, , ETC...?
解决方案
与字段对齐处理时
黑莓UI字段管理者是出了名烦人。经理人似乎忽略了所有的风格标志(像HCENTER
,VCENTER
等),这样你就可以做到这一点是重写你的经理的sublayout
方法的唯一途径,自己做。
下面是一个小片段向你展示我的意思。这种特殊的代码实际上做的水平的中心,而不是垂直居中,但一旦你的想法,你可以实现你需要的任何样式。
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());
}
}
请注意,USE_ALL_WIDTH
和USE_ALL_HEIGHT
风格的标志是重要的。如果你想要做的事情一样垂直居中,右下心,等你需要自己编写代码的定位。对于例如右下对准你可以设置的x位置给管理者减去场的宽度的宽度,并且y位置到管理器的高度减去场的高度。
如果您希望能够使用一个自定义的管理类来处理多种不同的风格(如右下,左下),你可以在sublayout添加一些逻辑来检查该字段的风格标志,然后适当地在场上的位置。
希望这一切有意义,可以帮助你。 :)
其他提示
HorizontalFieldManager 仅接受垂直对齐样式,而 VerticalFieldManager 仅接受水平对齐。就是这样。烦人++
不隶属于 StackOverflow