【问题标题】:EditField is cut off if margin is set on Torch如果在 Torch 上设置了边距,则 EditField 被切断
【发布时间】:2013-04-08 08:45:58
【问题描述】:

从 SSCCE 中可以看出,我做了 setBanner() 和 setStatus(),然后只在两者之间添加了一个 EditField。

现在在 Torch 上,如果您在 EditField 中输入大量字符,直到其高度超过横幅和状态之间的区域,最后文本行将与状态栏重叠。见截图:

这只发生在我为 EditField 设置边距时,但显然我需要这个边距。似乎是一个 Torch 错误,因为它适用于其他 BB 设备。但是有人可能知道解决方法吗?

这里是 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);
    }

}

谢谢

【问题讨论】:

    标签: blackberry margin status banner blackberry-editfield


    【解决方案1】:

    试试这个 -

    将您的 EditField 添加到 Horizo​​ntalFieldManager。

         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"));
        HorizontalFieldManager h=new HorizontalFieldManager(HorizontalFieldManager.VERTICAL_SCROLL);
        final EditField f = new EditField();
        f.setMargin(10, 10, 10, 10);
        h.add(f);
        s.add(h);
        s.setStatus(hf);
    
        UiApplication.getUiApplication().pushScreen(s);
    

    【讨论】:

      猜你喜欢
      • 2021-09-29
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      • 2017-07-04
      • 1970-01-01
      • 2010-11-21
      • 2020-08-30
      • 2013-08-10
      相关资源
      最近更新 更多