Панель действий отображается при использовании темы NoActionBar - PullRequest
1 голос
/ 23 марта 2020

Я использую тему с NoActionBar. Файл манифеста:

android:theme="@style/Theme.MaterialComponents.Light.NoActionBar"

Я использую другую панель действий, которую я включаю в макет:

<include layout="@layout/toolbar" />

Тем не менее, я всегда получаю две панели инструментов, а верхняя - одна , который был бы там, если бы я не использовал тему NoActionBar. Я обнаружил, что если я удаляю эту часть в файле стилей. xml, она работает как надо - второй панели действий нет:

<style name="Theme.MaterialComponents.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style>

Конечно, я хотел бы сохранить это в style. xml file, так как это помогает также настроить цвет панели уведомлений.

1 Ответ

2 голосов
/ 23 марта 2020

Мне кажется, что это не так, потому что Theme.MaterialComponents.Light.NoActionBar является существующей темой, и вы создаете ее в стилях. xml, поэтому она переопределяет существующую.

Что я делаю, это создаю новую установка темы, которую я хочу отредактировать как тему parent:

<style name="AppNoActionBar" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style>

И затем установите эту новую тему в манифесте:

android:theme="@style/AppNoActionBar"

Таким образом, вы получите свойства базовой темы (Theme.MaterialComponents.Light.NoActionBar) с пользовательскими обновлениями.

...