您的位置:首页 > 其它

黑莓:简单方法解决两个以上 Field 左右排列的问题

2010-01-29 20:18 561 查看
最近需要做黑莓开发,在排列控件的时候遇到了一个问题:两个甚至多个Field如何排列到一行,并且左边的控件靠屏幕左边,右这的控件靠屏幕右边?

用过黑莓手机的莓友都知道,系统自带的软件有很多是左边显示文字性的标题,右边显示输入框或下拉列表等。

黑莓目前自带的排列控件有

HorizontalFieldManager(水平排列)、

VerticalFieldManager(垂直排列)、

FlowFieldManager(水平排列满时自动往下排列)、

DialogFieldManager(对话框上的排列,用于显示对话框)

对于上面提到的问题,经过实践,如果只用HorizontalFieldManager是做不到的,那么我们应该怎样去实现需求呢?

tiandi79提到了扩展黑莓的 HorizontalFieldManager 达到效果:

http://blog.csdn.net/tiandi79/archive/2009/12/21/5046706.aspx

但是这样要写比较多的代码,如果一行要排三个甚至更多的Field呢?我相信黑莓应该会考虑到这一点,于是通过摸索,终于找到了不错而且简单的方法:

HorizontalFieldManager hfm = new HorizontalFieldManager(Field.USE_ALL_WIDTH);

LabelField title = new LabelField("左边");

VerticalFieldManager leftCol = new VerticalFieldManager();
leftCol.add(title);

VerticalFieldManager rightCol = new VerticalFieldManager(Field.USE_ALL_WIDTH|Field.FIELD_RIGHT);

HorizontalFieldManager rightColFields = new HorizontalFieldManager(Field.FIELD_RIGHT);
ButtonField btnLogin = new ButtonField("按钮1", Field.FIELD_RIGHT);
ButtonField btnReg = new ButtonField("按钮2", Field.FIELD_RIGHT);
rightColFields.add(btnLogin);
rightColFields.add(btnReg);

rightCol.add(rightColFields);

hfm.add(leftCol);
hfm.add(rightCol);


这点代码希望能够帮到更多遇到同类问题的朋友!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: