BottomNavigationView: как удалить помеченные метки - PullRequest
0 голосов
/ 03 сентября 2018

Реализация 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>

Но результат точно такой же (использую ли я только стратегию прерывания, частоту переноса или оба). В настоящее время я тестирую его на физическом телефоне API 27.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 08 сентября 2018

Поскольку 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

Надеюсь, это может кому-нибудь помочь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...