以下代码段包含一个水平字段管理器,其中添加了五个按钮。
1。我无法将水平滚动设置为水平字段管理器,因此我无法访问按钮4和按钮5.
2。通常我们按以下方式设置水平滚动
horizontalFieldManager =
new HorizontalFieldManager(USE_ALL_WIDTH|HorizontalFieldManager.FIELD_LEFT|HORIZONTAL_SCROLL);
但是因为我在水平字段管理器的构造函数中添加了按钮,所以我无法使用它。
3。我找到了这个属性:horizontalFieldManager.setHorizontalScroll(position);
其中包含Parameter:position,其中position应该是新的水平滚动位置。我尝试传递水平字段管理器的x坐标,但它不起作用。我应该以{{1}}参数传递什么?
position
答案 0 :(得分:0)
如果您只是更改调用HorizontalFieldManager
构造函数的方式,请执行以下操作:
HorizontalFieldManager container = new HorizontalFieldManager() {
protected void sublayout(int maxWidth, int maxHeight) {
到此:
HorizontalFieldManager container =
new HorizontalFieldManager(Manager.HORIZONTAL_SCROLL | Manager.HORIZONTAL_SCROLLBAR) {
protected void sublayout(int maxWidth, int maxHeight) {
然后,你将能够水平滚动,并达到所有五个按钮。
在sublayout()
方法中,您似乎正在按照HorizontalFieldManager
通常的方式布置字段。所以,我认为添加该代码没有任何意义。只需这样做:
HorizontalFieldManager container =
new HorizontalFieldManager(Manager.HORIZONTAL_SCROLL | Manager.HORIZONTAL_SCROLLBAR);
ButtonField button1 = new ButtonField("Button1");
/* the rest of your code is the same */
如果您以后想要控制按钮之间的间距,请使用边距进行操作:
ButtonField button1 = new ButtonField("Button1");
button1.setMargin(10, 10, 10, 10);
ButtonField button2 = new ButtonField("Button2");
button2.setMargin(10, 10, 10, 10);
一般情况下,使用HorizontalFieldManager
或VerticalFieldManager
和也覆盖sublayout()
通常不是一个好主意。如果你真的想要那里的自定义行为,你应该直接用你自己的子类扩展Manager
。