1

空白の stringItem をフォームに追加する方法はありますか? フォームにゲージを表示したいのですが、中央揃えにする必要があります。ゲージの前にいくつかの項目がない限り、これを行う方法はないと思います。だから私はいくつかのnull stringItemsを追加することを考えていましたが、うまくいきません。これはこれまでの私のコードです。

loadingDialog = new javax.microedition.lcdui.Form("Please Wait");
        Gauge gau = new Gauge("\nPlease wait.", false, Gauge.INDEFINITE,
                Gauge.CONTINUOUS_RUNNING);
        gau.setPreferredSize(230,80);
        gau.setLayout(Item.LAYOUT_BOTTOM);
        //Displayable SizeCanvas = new MyCanvas();
        StringItem st = new StringItem(" ", " ");
        loadingDialog.append(st);
        loadingDialog.append(gau);
        parentMidlet.displays.setCurrent(loadingDialog);
4

1 に答える 1

3

当然のことながらLAYOUT_CENTERと呼ばれる、アイテムを中央に配置するための特別なレイアウト ディレクティブがあります。

あなたが与えたコードスニペットを使用すると、このディレクティブは次のように設定できます。

gau.setLayout(Item.LAYOUT_BOTTOM | Item.LAYOUT_CENTER);

または、別のステートメントで設定したい場合は、

gau.setLayout(gau.getLayout() | Item.LAYOUT_CENTER);

デバイスが MIDP 2.0 の場合、この指令に従うことは義務付けられていません (妥当な品質のデバイスがそれをサポートすることを期待できますが)。MIDP 2.1 デバイスでは、仕様の明示的な要件によってサポートすることが義務付けられています。


ところで、より高度な項目の配置のために、Spacerと呼ばれる専用の lcdui オブジェクトがあります:

設定可能な最小サイズを持つ空白の非インタラクティブなアイテム。最小幅は、フォームの同じ行内のアイテム間に柔軟な量のスペースを割り当てるのに役立ちます。最小の高さは、行の特定の最小の高さを強制するのに役立ちます。アプリケーションは、最小の幅または高さを負でない任意の値に設定できます。実装は、最小幅と高さの実装定義の最大値を強制する場合があります...

...スペーサーの主な目的は、他のアイテムを配置することです...

于 2012-09-07T08:32:38.750 に答える