我想有两个相同大小的按钮,一个在左边,另一个在右边。这是我的代码,但我得到按钮的宽度比其他按钮大
hManager = new HorizontalFieldManager(Field.USE_ALL_WIDTH|FIELD_VCENTER);
hManager.setPadding(15, 0, 15, 15);
B1= new ButtonField("B1", Field.FIELD_LEFT | ButtonField.CONSUME_CLICK ) {
public int getPreferredWidth() {
return 200;
}
};
B2= new ButtonField("B2", Field.FIELD_RIGHT | ButtonField.CONSUME_CLICK ) {
public int getPreferredWidth() {
return 200;
}
};
hmanager.add(B1);
hmanager.add(B2);
做类似的事情
public int getPreferredWidth() {
return (Display.getwidth()/2)-20 ;
}
在你的ButtonField
.
实际上问题是,例如考虑屏幕宽度为240。但是根据您的代码,您为第一个按钮提供了 200 作为宽度。所以240-200。现在剩下40个屏幕宽度。因此,它不会考虑第二个按钮给出的 200 宽度。因此,由于宽度不足,默认情况下它采用剩余宽度(不是您给定的宽度)。因此,您必须根据屏幕宽度设置按钮宽度。而且在您的代码中Field.Field_Right不起作用。在垂直管理器中,只有您可以设置水平属性。
不要输入绝对值,只是部分,因为黑莓屏幕有很大的不同
@Bbdev解决方案就是代码中的答案