BottomNavigationView:如何删除重复的标签

时间:2018-09-03 03:29:08

标签: android android-bottom-nav-view

实现5个项目的BottomNavigationView-始终显示标签-我正在使用以下方法:

<android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="?android:attr/windowBackground"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:menu="@menu/navigation"
        app:labelVisibilityMode="labeled"/>

不幸的是,结果处于活动状态时会连字,如图所示:

Hyphenated active label

我尝试为标签的活动文本设置不同的样式:

app:itemTextAppearanceActive="@style/text_navigation_active_labels"

-styles.xml-

<style name="text_navigation_active_labels">
    <item name="android:breakStrategy">simple</item>
    <item name="android:hyphenationFrequency">none</item>
</style>

但是结果是完全一样的(无论我是只使用中断策略,hyphenationFrequency还是两者都使用)。我目前正在API 27物理电话上对其进行测试。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

由于5个项目可能会占用很大的空间,因此有必要妥协文本大小。为了解决这个问题,在BottomNavigationView文本中添加自定义样式即可完成工作:

 <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        ...
        app:itemTextAppearanceActive="@style/navTextActive"
        app:itemTextAppearanceInactive="@style/navTextInactive"/>

在styles.xml上:

<style name="navTextInactive">
    <item name="android:textSize">11sp</item>
</style>

<style name="navTextActive">
    <item name="android:textSize">12sp</item>
</style>

结果:

FixedNavBar

希望它可以帮助任何人!