2

SSCCE からわかるように、setBanner() と setStatus() を実行し、その間に EditField のみを追加します。

Torch で、高さがバナーとステータスの間の領域を超えるまで EditField に多くの文字を入力すると、最後のテキスト行がステータス バーと重なってしまいます。スクリーンショットを参照してください:ここに画像の説明を入力

これは、EditField にマージンを設定した場合にのみ発生しますが、明らかにこのマージンが必要です。他の BB デバイスで動作するため、Torch のバグのようです。しかし、誰かが回避策を知っていますか?

SSCCE は次のとおりです。

import net.rim.device.api.browser.field2.BrowserField;
import net.rim.device.api.ui.Color;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.ButtonField;
import net.rim.device.api.ui.component.EditField;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.decor.BackgroundFactory;

public class CutOff extends UiApplication implements Runnable
{
    /**
     * @param args
     */
    public static void main(final String[] args)
    {
        final CutOff bt = new CutOff();
        bt.invokeLater(bt);
        bt.enterEventDispatcher();

    }

    public void run()
    {
        final MainScreen s = new MainScreen();
        //header
        final HorizontalFieldManager head = new HorizontalFieldManager();
        head.add(new ButtonField("header"));
        s.setBanner(head);

        //footer
        final HorizontalFieldManager hf = new HorizontalFieldManager();
        hf.setBackground(BackgroundFactory.createSolidBackground(Color.RED));
        hf.add(new ButtonField("test"));
        final EditField f = new EditField();
        f.setMargin(10, 10, 10, 10);
        s.add(f);
        s.setStatus(hf);

        UiApplication.getUiApplication().pushScreen(s);
    }

}

ありがとう

4

1 に答える 1