Создание дочернего свитка ListView - PullRequest
1 голос
/ 29 января 2010

Здравствуйте. Я пытаюсь создать приложение типа терминала, которое шире, чем реальный экран Android. ListView - это здорово, за исключением того, что я не хочу, чтобы текст был перенесен. Если текст шире экрана, я хочу, чтобы он напечатал полный текст, а затем пользователь может прокрутить по горизонтали, если он хочет увидеть, что было напечатано за пределами экрана. Просто к сведению, это для таблиц типа ASCII. Я последовал этому примеру:

http://nan -technicalblog.blogspot.com / 2008/12 / андроид-хау в использовании горизонтального-scrolling.html

Это прекрасно работает, поскольку горизонтальный текст идет именно так, как я хочу, но я не могу заставить ListView внутри пользовательского LinearLayout фактически прокручивать по вертикали. Я попытался передать координаты Y из метода onScroll в mListView, например:

mListView.scrollBy(0, distanceY);

но это, кажется, перемещает пользовательское окно LinearLayout вместо простой прокрутки ListView. Я могу сказать, что ListView не прокручивается, потому что окно перемещается без перемещения вертикальной полосы прокрутки ListView. Все просто скользит вокруг. Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 30 января 2010

Ладно, на это у меня ушло около недели в свободное время, чтобы понять. Мне пришлось изменить предоставленный код для dispatchTouchEvent на это:

 public boolean dispatchTouchEvent(MotionEvent ev){
     mGestureDetector.onTouchEvent(ev);
     mListView.onTouchEvent(ev);
     return true;
 }

Также изменено onScroll для возврата false только для хорошей меры.

...