Проблемы с прокруткой с помощью TextArea в LWUIT
У меня есть TextArea
в LWUIT, что у меня есть проблема манипулирования. У меня есть следующие две проблемы:
Хотя я звоню
setIsScrollVisible(true)
У меня, кажется, нет полосы прокрутки, и я не могу прокручивать ее, когда вывод идет ниже видимой области контейнера.Как мне рассказать
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 нет ничего видимого, что позволяло бы мне явно включать или отключать прокрутку. Заранее спасибо за любую помощь в этом.
2 ответа
Ширина текстовой области указана в столбцах, а не в пикселях, как в вашем коде.
Установка прокрутки в видимое положение не приведет к ее появлению, поскольку полосы прокрутки LWUIT всегда "по мере необходимости", что означает, что полоса прокрутки будет отображаться только при необходимости, если для этого значения задано значение false, она просто скрывает полосу прокрутки независимо от необходимости.
Чтобы текстовая область захватила всю ширину, просто поместите ее в контейнерную форму Y контейнера / формы, и менеджер макета растянет ее по оси X.
Ты можешь использовать scrollRectToVisible()
для прокрутки текстовой области вниз или, альтернативно, вы можете получить текстовую область и использовать setScrollY(int)
с соответствующим значением (см. исходный код текстовой области, чтобы узнать, как это используется для прокрутки текстовой области.
Попробуйте простой textArea.setFocusable(false)
, Это сработало для меня.