0

私のボタンセットは、新しい画面を押して閉じた後、右に移動するようなものです。

VerticalFieldManager にいくつかのボタンを追加しました。次に、ボタンを中央に配置するために、 horizo​​ntalFieldManager に verticalFieldManager を追加しました。

問題は BB 8900(Curve) で、すべて問題ありません。9550 (タッチ スクリーン) では、初めて画面を開いたときにのみ機能します。しかし、この画面に基づいて別の画面を開き、開いた画面を閉じると、ボタンが右に移動します。しかし、9550 でのみ ??? 曲線上で、新しい画面を開いて新しい画面を閉じることができます。誰かがこの問題を知っていますか?

VerticalFieldManager verticalFieldMng = new VerticalFieldManager();      
            ButtonField btnSendAdrViaSMS = new ButtonField("test");
            verticalFieldMng2.add(btnSendAdrViaSMS);
            ButtonField btn2 = new ButtonField("test2");
            verticalFieldMng2.add(btn2);
            ButtonField btn3 = new ButtonField("test2");
            verticalFieldMng2.add(btn3);

            HorizontalFieldManager horizontalFieldManager = new HorizontalFieldManager(HorizontalFieldManager.FIELD_HCENTER);
            horizontalFieldManager.add(verticalFieldMng2);
            add(horizontalFieldManager);

私が使用する新しい画面を開くために

    Screen_SendSMS sendSMS = new Screen_SendSMS("",link);
UiApplication.getUiApplication().pushModalScreen(sendSMS);

画面を閉じるには、BB デバイスの通常の「戻るキー」を上書きせずに使用します。

4

1 に答える 1

1

それはかなり奇妙ですが、BBで私を驚かせることはありません.

更新:私のコードのいくつかを確認して中心に置いた後、私が推測するスクロールのために、Horizo​​ntalFieldManager にはフィールドの中心に問題があると言えます。したがって、水平方向に中央揃えする必要がある場合は VerticalFieldManager を使用し、垂直方向に中央揃えする必要がある場合は Horizo​​ntalFieldManager を使用します。

フィールドを中央に配置する基本的なパターンは次のとおりです。

    VerticalFieldManager vfm = new VerticalFieldManager(Manager.USE_ALL_WIDTH);
    Field toCenter = new <Field>(DrawStyle.HCENTER | Field.FIELD_HCENTER );
    vfm.add(toCenter);

垂直方向では、次のようになります。

    HorizontalFieldManager hfm = new HorizontalFieldManager(Manager.USE_ALL_HEIGHT);
    Field toCenter = new <Field>(DrawStyle.VCENTER | Field.FIELD_VCENTER );
    hfm.add(toCenter);

算術 OR 演算子を使用して、フラグを他のスタイル フラグと組み合わせることができます。

あなたの場合、これを 2 回行う必要があります。最初にボタンと vfm を使用し、次に vfm と hfm を使用します。

于 2011-12-28T08:45:08.163 に答える