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

问题描述 投票:1回答: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行,有时不会?

android android-viewpager viewpagerindicator
2个回答
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
投票

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

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

要么

UPDATE

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

© www.soinside.com 2019 - 2024. All rights reserved.