BottomNavigationView:如何删除带连字符的标签

Jul*_* M. 7 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"/>
Run Code Online (Sandbox Code Playgroud)

不幸的是,结果在活动时将单词连字符,如图所示:

带连字符的活动标签

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

app:itemTextAppearanceActive="@style/text_navigation_active_labels"
Run Code Online (Sandbox Code Playgroud)

-- 样式.xml --

<style name="text_navigation_active_labels">
    <item name="android:breakStrategy">simple</item>
    <item name="android:hyphenationFrequency">none</item>
</style>
Run Code Online (Sandbox Code Playgroud)

但结果是完全一样的(我是否只使用 break 策略、hyphenationFrequency 或两者)。我目前正在 API 27 物理电话上对其进行测试。

任何帮助表示赞赏。

Jul*_* M. 12

由于 5 个项目可能会占用大量空间,因此有必要对文本大小进行妥协。为了修复它,向 BottomNavigationView 文本添加自定义样式即可完成工作:

 <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        ...
        app:itemTextAppearanceActive="@style/navTextActive"
        app:itemTextAppearanceInactive="@style/navTextInactive"/>
Run Code Online (Sandbox Code Playgroud)

在styles.xml 上:

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

<style name="navTextActive">
    <item name="android:textSize">12sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

结果:

固定导航栏

希望它可以帮助任何人!