texto de divisão em vários TextViews / Fragmentos usando ViewPager

votos
7

Eu estou tentando dividir algum texto em vários fragmentos carregados em um ViewPager usando a biblioteca de compatibilidade Android. A idéia é ter algo semelhante para o aplicativo Kindle, onde você está passando em várias páginas de texto.

Inicialmente, minha fonte de texto é uma cadeia definida em strings.xml e estou usando um algoritmo para determinar a altura da tela do dispositivo, e depois dividir essa string em conformidade em uma série de itens para o ViewPager. Como você não pode chegar a altura de um TextView antes do tempo, eu estou apenas usando um valor de porcentagem para determinar o que para definir o tamanho máximo do TextView para em cada página (isso parece um pouco feio).

Isto parece ser uma abordagem razoável, ou eu vou sobre isso todo o caminho errado?

Publicado 01/12/2011 em 18:08
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Como você não pode chegar a altura de um TextView antes do tempo

Bem, isso depende do que você quer dizer com "antes do tempo" (tempo == processamento de texto?).

  • Você pode measure()seu ViewPager/ TextViewuma vez e use a sua getMeasuredHeight()/getMeasuredWidth()em seus cálculos
  • Você pode esperar por ViewTreeObserver.OnGlobalLayoutListener.onGlobalLayout()e usar as medidas de layout "padrão" para a mesma coisa
  • (Não recomendado), você pode usar ( "altura da tela" - "decorações altura") / "altura do texto (fonte + espaçamento)" para saber quantas linhas de texto vai caber no seu TextView
  • Etc etc.
Respondeu 08/07/2013 em 23:24
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more