4.4自定义布局管理器
BlackBerry UI API中,屏幕窗口的布局管理器有很多,比如Flow Field Manager,Grid Field Manager,Horizontal Field Manager,Vertical Field Manager以及延伸出来的各类。但是客户的要求多种多样,这些窗口管理器不一定能满足所有客户的要求。
在本案中,客户提出屏幕下方的两个命令按钮需要并排摆放,这看上去是可以用Horizontal Field Manager来处理,但是客户又指定说这两个命令按钮摆放的时候,第一个按钮距离屏幕左边两个字符大小,第二个按钮距离屏幕中间左边两个字符大小。这就需要我们自己编写一个窗口管理器,在sublayout(intwidth,intheight)方法中通过set Position Child()方法设置各个按钮Field的摆放位置,通过layout Child()方法设置Field的高度/宽度;通过set Extent(intwidth,intheight)方法设置这个区域的高度和宽度。
- p ublic class FooterManager extends Manager {
- public FooterManager() {
- super(0);
- }
- protected void sublayout (int width, int height) {
- int fieldWidth = 100;
- int filedHeight = 100; Field field = getField(0);
- // 设置 filed 的 x 位 置为从 左边起 ,空两个 字符; y 位置为 0
- setPositionChild(field, getFont().getHeight() * 2, 0);
- layoutChild(field, fieldWidth, filedHeight); //lay out the field
- field = getField(1);
- // 设置 filed 的 x 位 置为从 中间 左边起, 空两个 字符; y 位置为 0
- setPositionChild(field, width/2 + getFont().getHei ght() * 2, 0);
- layoutChild(field, fieldWidth, filedHeight); //lay out the field
- // 设置整个 区域的 高度为 按钮 字段的高 度即可 ,不需 要很高
- setExtent(width, getFont().getHeight() + 20);
- }
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shouji/article-21862-4.html
军队其实是农民军
照片太美