1

ScreenにVerticalFieldManagerを1 つ追加しました。そのマネージャーの好みの高さに関して特定の変数値を設定するように、そのマネージャーのイベントを処理したいと考えています。以下は私のコードスニペットです。確認してください。

VerticalFieldManager leftVfm = new VerticalFieldManager(Manager.VERTICAL_SCROLL){

    protected void sublayout(int width, int height) {
        super.sublayout(screenWidth - 150, INFO_HEADER_HEIGHT);
        setExtent(screenWidth - 150, INFO_HEADER_HEIGHT);
    }

    protected boolean touchEvent(TouchEvent message) {
        int eventCode = message.getEvent();
        if (eventCode == TouchEvent.DOWN) {
            // leftheight should be leftVfm.getPreferredHeight();
            INFO_HEADER_HEIGHT = leftheight;
        }
        return true;
    }
};  
4

1 に答える 1

0

コードのコメントには次のように書かれています。

// leftheight should be leftVfm.getPreferredHeight();

高さを変更したいので、INFO_HEADER_HEIGHT のような変数名を使用するのは少し誤解を招きます。すべて大文字の名前は定数を示します。つまりstatic final、値が変化しないことを意味します。

高さ変数を変更したら、マネージャーに再度レイアウトを強制するだけです。これを行う最も直接的な方法は、Screen.invalidateLayout() を呼び出すことです。

于 2012-06-07T16:48:53.290 に答える