0

我想有两个相同大小的按钮,一个在左边,另一个在右边。这是我的代码,但我得到按钮的宽度比另一个大

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);
4

3 回答 3

2

做类似的事情

public int getPreferredWidth() {
    return (Display.getwidth()/2)-20 ;               
}

在你的ButtonField.

于 2012-07-03T09:49:27.927 回答
0

don't put absolute values, just portion because blackberry screen is different in a large way

@Bbdev solution is the answer in code

于 2012-07-04T09:41:35.440 回答
0

实际上问题是,例如考虑屏幕宽度为 240。但根据您的代码,您为第一个按钮提供了 200 作为宽度。所以 240-200。现在还有 40 是剩余的屏幕宽度。所以它不会考虑为第二个按钮提供的 200 宽度。所以由于没有足够的宽度,默认情况下它需要剩余的宽度(不是你给定的宽度)。所以你必须根据屏幕宽度设置按钮宽度。而且在您的代码中 Field.Field_Right 也不起作用。只有在垂直管理器中,您才能设置水平属性。

于 2012-07-04T07:45:03.653 回答