Android ViewPagerIndicator在较小分辨率上呈现问题

时间:2015-03-23 12:52:38

标签: android tabs viewpagerindicator

我的应用有一个由Android-ViewPagerIndicator提供的TabPageIndicator条带,有多个(当前有4个但不断增加)标签,不同的文字(以及标签宽度)。

在Nexus 4上,我的带有较长文字的标签会被截断。例如:'巨石阵' => ' Stonehen&#39 ;.有趣的是,标签的宽度都是一样的; 192像素。这是有道理的,因为Nexus4的宽度是768px(4 * 192),但mMaxTabWidth字段设置为432px:

TabPageIndicator.java: 102
mMaxTabWidth = (int)(MeasureSpec.getSize(widthMeasureSpec) * 0.4f);

查看TabView::getMeasuredWidth()TabView::onMeasure()TabPageIndicator:273)中调用时返回的结果所有文本(即使是那些未被截断的字符串)的测量宽度> 200px,显然大于192px

在我的Nexus 5设备上,每个选项卡都会渲染文本而不会截断,但选项卡的宽度都不同。这是预期的,因为选项卡具有不同长度的文本,因此较长的字符串需要更多空间。

起初我认为这是一个操作系统问题(以不同的方式计算标签宽度),但运行KitKat或Lollipop的Nexus 5正确渲染,而运行KitKat或Lollipop 的Nexus 4无法正确渲染。因此,我认为这是由较低分辨率引起的问题。

鉴于Nexus4上的TabPageIndicatorHorizontalScrollView,如果所有标签都不适合屏幕,那就可以了;用户可以滚动。文本正确呈现非常重要。

我需要做些什么才能在Nexus4设备上截断文本?

0 个答案:

没有答案