ViewPagerIndicator - TabPageIndicator页面标题随机分为2行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ViewPagerIndicator - TabPageIndicator页面标题随机分为2行相关的知识,希望对你有一定的参考价值。

有时TabPageIndicator中的页面标题被分为2行,有时作为整个单词,有时作为破碎的单词。这是一些屏幕截图

1)分成2行 - 破碎的单词

2)分成2行 - 整个单词

3)不分成2行

这是我的布局代码:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.viewpagerindicator.TabPageIndicator
        android:layout_width="fill_parent"
        android:layout_height="45dp"
        android:layout_gravity="top"
        android:paddingTop="2dp"
        android:layout_marginBottom="2dp" />

    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="fill_parent">
    </android.support.v4.view.ViewPager>
</LinearLayout>

这是我的样式代码:

<style name="CustomTabPageIndicator">
    <item name="footerColor">@color/brand</item>
    <item name="android:colorBackground">@color/white</item>
    <item name="footerLineHeight">1dp</item>
    <item name="footerIndicatorHeight">3dp</item>
    <item name="android:textColor">#FF555555</item>
    <item name="android:textSize">13sp</item>
    <item name="android:dividerPadding">5dp</item>
    <item name="android:layerType">software</item>
    <item name="android:showDividers">none</item>
    <item name="android:fadingEdge">horizontal</item>
    <item name="android:fadingEdgeLength">8dp</item>
    <item name="selectedColor">#FF000000</item>
    <item name="selectedBold">true</item>
    <item name="android:gravity">center</item>
    <item name="android:typeface">normal</item>
    <item name="android:background">@drawable/custom_tab_indicator</item>
    <item name="android:paddingLeft">10dip</item>
    <item name="android:paddingRight">10dip</item>
    <item name="android:paddingTop">4dp</item>
    <item name="android:paddingBottom">4dp</item>
</style>

任何人都可以告诉我这里有什么错误导致页面标题随机分成2行,有时不会?

答案

在TabPageIndicator.java文件中

mTabLayout.addView(tabView,new LinearLayout.LayoutParams(0,MATCH_PARENT,1));

而不是上面添加这行代码,它将进行文本换行

mTabLayout.addView(tabView,new LinearLayout.LayoutParams(WRAP_CONTENT,MATCH_PARENT,1));

另一答案

尝试在样式代码中添加此行...

  <item name="android:maxLines">1</item>

要么

UPDATE

你试过在样式中添加singleLine=true"吗?

以上是关于ViewPagerIndicator - TabPageIndicator页面标题随机分为2行的主要内容,如果未能解决你的问题,请参考以下文章

ViewPagerIndicator的使用方法

自定义ViewPagerIndicator-视图指示器

如何在Android中使用viewPagerindicator和ViewPager?

Android-ViewPagerIndicator框架使用——TabPageIndicator

Android中的触摸或单击事件ViewPagerIndicator

如何在 iOS 中使用 ViewPager 和 Android 中的 ViewPagerIndicator 等标题实现页面之间的滑动?