使用ViewPager在多个TextViews / Fragments之间拆分文本

时间:2011-12-01 17:08:43

标签: android android-fragments textview android-viewpager

我正在尝试使用Android兼容性库在加载到ViewPager中的多个片段之间拆分一些文本。这个想法是有类似于Kindle应用程序的东西,你可以在其中翻阅多个文本页面。

最初,我的文本源是strings.xml中定义的字符串,我使用算法来确定设备屏幕的高度,然后将此字符串相应地拆分为ViewPager的多个项目。由于你无法提前获得TextView的高度,我只是使用一个百分比值来确定在每个页面上设置TextView的最大大小(这看起来有点难看)。

这看起来是一种合理的做法,还是我会以错误的方式解决这个问题?

1 个答案:

答案 0 :(得分:0)

  

因为你无法提前获得TextView的高度

那么,这取决于“提前”的意思(时间==文字处理?)。

  • 您可以measure() ViewPager / TextView一次,并在计算中使用getMeasuredHeight()/getMeasuredWidth()
  • 您可以等待ViewTreeObserver.OnGlobalLayoutListener.onGlobalLayout()并使用“标准”布局测量来完成同样的事情
  • (不推荐)您可以使用(“屏幕高度” - “装饰高度”)/“文字高度(字体+间距)”来了解TextView中适合的文字行数
  • 等。等