1

TextArea在 LWUIT 中有一个操作问题。我有以下两个问题:

  1. 即使我调用setIsScrollVisible(true),当输出低于容器的可见区域时,我似乎没有滚动条并且无法滚动。

  2. 如何告诉TextArea以编程方式自动滚动到底部?

我用于初始化 TextArea 的代码如下所示:

myTextArea = new TextArea(20, Display.getInstance().getDisplayWidth());
myTextArea.setEditable(false);
myTextArea.setEnabled(true);
myTextArea.setIsScrollVisible(true);
myTextArea.setGrowByContent(false);
System.out.println(myTextArea.isScrollableY());

isScrollableY()返回真。有任何想法吗?有什么我想念的吗?API 中似乎没有任何可见的东西可以让我显式启用或禁用滚动。在此先感谢您提供任何帮助。

4

2 回答 2

3

文本区域的宽度以列为单位,而不是代码中的像素。

将滚动设置为可见不会导致它出现,因为 LWUIT 滚动条总是“按需”,这意味着滚动条只会在必要时出现,将此值设置为 false 只会隐藏滚动条而不管必要性。

要让文本区域占据整个宽度,只需将其放置在框布局 Y 容器/表单中,布局管理器就会在 X 轴上拉伸它。

您可以使用scrollRectToVisible()将文本区域滚动到底部,或者您可以派生文本区域并使用setScrollY(int)适当的值(请参阅文本区域的源代码了解如何使用它来滚动文本区域。

于 2011-10-09T08:07:17.013 回答
0

尝试一个简单的textArea.setFocusable(false). 这对我有用。

于 2011-11-03T11:11:10.640 回答