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

时间:2014-11-27 06:06:34

标签: android android-viewpager viewpagerindicator

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

1)分成2行 - 断言 enter image description here

2)分成2行 - 整个单词 enter image description here

3)不分为2行 enter image description here

这是我的布局代码:

<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行而有时不会?

2 个答案:

答案 0 :(得分:3)

TabPageIndicator.java 文件

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

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

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

答案 1 :(得分:1)

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

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

或者

<强>更新

您是否尝试在样式中添加singleLine=true"