【问题标题】:Blackberry RichTextField preferred height during layoutBlackberry RichTextField 布局期间的首选高度
【发布时间】:2013-01-08 23:13:41
【问题描述】:

这是使用 Backberry JDK(如果需要,为 5.0)。

我有一个包含 RichTextField 的自定义管理器。我希望字段的高度因 RichTextField 中的文本量而异。

子布局代码如下所示(rtf 是 RichTextField 对象):

    protected void sublayout(int width, int height) {
    int h = rtf.getPreferredHeight();
    setExtent(Display.getWidth(), h);
    layoutChild(rtf, Display.getWidth(), h);
    setPositionChild(rtf, 0, 0);

    setExtent(Display.getWidth(), h);
}

对 rtf.getPreferredHeight 的调用总是返回相同的值,无论有多少文本(因此屏幕上有多少行)。

在知道内容和宽度的情况下如何获取 RichTextField 的高度的任何线索?

【问题讨论】:

    标签: blackberry


    【解决方案1】:

    当然,我一发布它就找到了答案。调用 layoutChild 后查询控件。

    这解决了它:

        int h = rtf.getPreferredHeight();
        layoutChild(rtf, Display.getWidth(), h);
    
        h = rtf.getHeight();
    
        setPositionChild(rtf, 0, 0);
    
        setExtent(Display.getWidth(), h);
    

    我会删除这个问题,但也许这会对其他人有所帮助。

    【讨论】:

      【解决方案2】:
      RichTextField deviceId = new RichTextField() {
          protected void setExtent(int width, int height) {
              super.setExtent(Display.getWidth() - 30, 25);
          }
      };
      

      当您不想为它编写单独的类时,这解决了我为RichTextField 设置heightwidth 的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-29
        • 1970-01-01
        • 1970-01-01
        • 2014-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多