以下代码段包含一个水平字段管理器,其中添加了五个按钮。
1.我无法将水平滚动设置为水平字段管理器,因此我无法访问按钮 4 和按钮 5。
2.通常我们通过以下方式设置水平滚动
horizontalFieldManager =
new HorizontalFieldManager(USE_ALL_WIDTH|HorizontalFieldManager.FIELD_LEFT|HORIZONTAL_SCROLL);
但是由于我在水平字段管理器的构造函数中添加了按钮,所以我无法使用它。
3.我找到了这个属性: horizontalFieldManager.setHorizontalScroll(position);
它包含 Parameter:position 其中位置应该是新的水平滚动位置。我尝试传递水平字段管理器的 x 坐标,但它不起作用。我应该传递什么作为position
参数?
HorizontalFieldManager container = new HorizontalFieldManager()
{
protected void sublayout(int maxWidth, int maxHeight)
{
Field field = null;
int x = 0;
int y = 0;
int maxFieldHeight = 0;
for (int i = 0; i < getFieldCount(); i++)
{
field = getField(i);
layoutChild(field, maxWidth, maxHeight);
setPositionChild(field, x,y);
x+=field.getWidth();
if(i==0)
{
maxFieldHeight = field.getHeight(); // height set of the first button since all components have the same height
}
}
setExtent(Display.getWidth(), maxFieldHeight);
}
};
ButtonField button1 = new ButtonField("Button1");
ButtonField button2 = new ButtonField("Button2");
ButtonField button3 = new ButtonField("Button3");
ButtonField button4 = new ButtonField("Button4");
ButtonField button5 = new ButtonField("Button5");
container.add(button1);
container.add(button2);
container.add(button3);
container.add(button4);
container.add(button5);
add(container);