Diviser du texte sur plusieurs TextViews / Fragments à l'aide de ViewPager

J'essaie de diviser un texte sur plusieurs Fragments chargés dans un ViewPager en utilisant la bibliothèque de compatibilité Android. L'idée est d'avoir quelque chose de similaire à l'application Kindle, où vous naviguez sur plusieurs pages de texte.

Initialement, ma source de texte est une chaîne définie dans strings.xml et j'utilise un algorithme pour déterminer la hauteur de l'écran de l'appareil, puis divisez cette chaîne en conséquence dans un certain nombre d'éléments pour le ViewPager. Comme vous ne pouvez pas obtenir la hauteur d'une TextView avant le temps, j'utilise simplement une valeur de pourcentage pour déterminer ce qui définit la taille maximale de TextView sur chaque page (cela semble un peu moche).

  • Afficher les données après 10 secondes dans Android
  • Adaptateur Listview personnalisé avec filtre Android
  • Comment configurer l'application entière en mode portrait uniquement?
  • Comment les applications scala pour Android peuvent-elles être réduites en taille de fichier?
  • Comment montrer les erreurs de compilation dans le studio Android
  • Touche Google Button Drawable Tinte
  • Est-ce que cela semble être une approche raisonnable, ou est-ce que je vais faire tout cela?

  • Android Studio ne génère pas d'applet aligné sur zip
  • Comment fonctionne "? Android: attr / activatedBackgroundIndicator"?
  • Configuration de Proguard pour Android Support v4 22.2.0
  • Trouver le mécanisme de mise en cache de la mémoire "killer" pour Android
  • Beaucoup de collecte des ordures dans une liste
  • Comment configurer la hauteur de la barre d'action par programmation
  • One Solution collect form web for “Diviser du texte sur plusieurs TextViews / Fragments à l'aide de ViewPager”

    Comme vous ne pouvez pas avoir la hauteur d'une TextView avant le temps

    Eh bien, cela dépend de ce que vous entendez par "à l'avance" (temps == traitement de texte?).

    • Vous pouvez measure() votre ViewPager / TextView une fois et utiliser son getMeasuredHeight()/getMeasuredWidth() dans vos calculs
    • Vous pouvez attendre ViewTreeObserver.OnGlobalLayoutListener.onGlobalLayout() et utiliser les mesures de mise en page "standard" pour la même chose
    • (Non recommandé), vous pouvez utiliser ("hauteur de l'écran" – "hauteur des décorations") / "hauteur du texte (police + espacement)" pour connaître le nombre de lignes de texte qui conviennent dans votre TextView
    • Etc.
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.