Pergunta

Olá, estou tentando criar um aplicativo do tipo terminal mais largo que a tela Android real. Um ListView é ótimo, exceto que eu não quero que o texto envolva. Se o texto for mais largo que a tela, eu quero imprimir o texto completo e, em seguida, o usuário poderá rolar horizontalmente se quiser ver o que foi impresso na tela. Apenas para sua informação, isso é para tabelas do tipo ASCII. Eu segui este exemplo:

http://nan-technicalblog.blogspot.com/2008/12/android-how-to-use-horizontal-scrolling.html

Funciona muito bem no que diz respeito ao texto horizontal, faz exatamente o que eu quero, mas não consigo obter o ListView dentro do LinearLayout personalizado para realmente rolar veritalmente. Eu tentei passar as coordenadas y do método OnScroll para o MLISTView, como:

mListView.scrollBy(0, distanceY);

Mas isso parece mover a janela LinearLayout personalizada em vez de apenas rolar o ListView. Eu posso dizer que o ListView não está rolando porque a janela se move sem a barra de rolagem vertical da ListView Moving. Tudo só desliza. Qualquer ajuda seria muito apreciada.

Foi útil?

Solução

Ok, este também me levou cerca de uma semana no meu tempo livre para descobrir. Eu tive que mudar o código fornecido para dispatchTouchEvent para isso:

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

Também mudou onScroll para retornar false Apenas por uma boa medida.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top