Проблемы совместимости значков навигации Androidx в Android 7 - PullRequest
3 голосов
/ 13 июня 2019

Я использую com.google.android.material.appbar.AppBarLayout вместе с androidx.appcompat.widget.Toolbar в моем приложении и в Android 8, он работает отлично, но у меня возникла проблема, когда значок меню «гамбургер» и значки «назад» просто отображаются в виде белого блока в Android 7 (API 24 и API 25), хотя другие значки меню отображаются правильно.

Где отображается значок гамбургера.

where the hamburger icon looks like

А как выглядит кнопка возврата.

what the back button looks like

Макет панели моего приложения:

<com.google.android.material.appbar.AppBarLayout
        android:id="@+id/activity_drawer_layout_app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary" />

    </com.google.android.material.appbar.AppBarLayout>

И просто настройка панели инструментов:

setSupportActionBar ( toolbar )

    actionBar?.setDisplayShowCustomEnabled(true)
    actionBar?.setDisplayShowCustomEnabled(true)
    actionBar?.setDisplayHomeAsUpEnabled(true)
    actionBar?.setDisplayShowHomeEnabled(true)
    actionBar?.setDisplayShowTitleEnabled(true)

Ответы [ 2 ]

1 голос
/ 25 июня 2019

Поскольку вы используете библиотеку материалов, это ожидаемый результат. Я не знаю, как компилятор в Android 8 переопределяет настройки темы материала по умолчанию. При использовании библиотеки материалов по умолчанию применяются цветовые оттенки. Для более подробной информации посмотрите на https://material.io/design/color/applying-color-to-ui.html#usage.
Вы узнаете все о библиотеке материалов на этом веб-сайте.

0 голосов
/ 26 июня 2019

Вы можете применить оттенок или цвет фона в теме.

Если вы не можете найти проблему -> добавьте ImageView (для кнопки назад) внутри панели инструментов

например:

<Toolbar>
   <ImageView>
 </Toolbar>
...