【发布时间】:2014-03-05 13:34:58
【问题描述】:
我的应用中有一个viewPager。我想在viewPager 中放一大段文字。我不希望文本可滚动,我希望将其分开或分成页面,并且当用户翻页时,它会在其他页面中显示其余文本。
我该如何处理?
【问题讨论】:
标签: android android-viewpager longtext
我的应用中有一个viewPager。我想在viewPager 中放一大段文字。我不希望文本可滚动,我希望将其分开或分成页面,并且当用户翻页时,它会在其他页面中显示其余文本。
我该如何处理?
【问题讨论】:
标签: android android-viewpager longtext
您可以根据文本的尺寸实例化多个片段,通过public float measureText (String text) 测量。然后你确定屏幕如Get screen dimensions in pixels
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
这样你就可以计算出你需要的片段数量。
对于拆分部分,我能想到的最快解决方案是使用measureText (String text, int start, int end) 循环来确定必须拆分文本的位置。 (可能有更优雅的解决方案)
【讨论】:
Android 使用 (Boring|Static|Dynamic)Layout 类来测量和包装文本,这些类将宽度作为构造函数参数,并将计算文本的总高度,它们还提供 getLineHeight(int line) 等方法来获取行信息,因此您可以根据这些信息计算字符串偏移量。我创建了一个类来执行此操作,请在此处查看我的答案:https://stackoverflow.com/a/30468884/2800351
【讨论】: