0

同じサイズの2つのボタンを左側と右側に配置したいと思います。これは私のコードですが、ボタンの幅が他のボタンよりも大きくなっています

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

実際の問題は、たとえば、画面の幅が240であるとします。ただし、コードに従って、最初のボタンの幅として200を指定しました。つまり、240〜200です。これで、残りの画面幅は40になります。したがって、2番目のボタンに指定された200幅は考慮されません。したがって、幅が十分でないため、デフォルトでは残りの幅が使用されます(指定された幅ではありません)。したがって、画面の幅に基づいてボタンの幅を設定する必要があります。また、コード内でField.Field_Rightが機能していません。垂直飼い葉桶では、水平プロパティを設定できるのはあなただけです。

于 2012-07-04T07:45:03.653 に答える
0

ブラックベリーの画面は大きく異なるため、絶対値を入れないでください。

@Bbdevソリューションはコードの答えです

于 2012-07-04T09:41:35.440 に答える