使用 NoActionBar 主题时显示操作栏
Action bar is showing when using NoActionBar theme
我正在使用带有 NoActionBar 的主题。清单文件:
android:theme="@style/Theme.MaterialComponents.Light.NoActionBar"
我正在使用另一个操作栏,我将其包含在布局中:
<include layout="@layout/toolbar" />
但是,我总是得到两个工具栏,上面那个是那个,如果我没有使用NoActionBar 主题就会有。我发现,如果我删除 styles.xml 文件中的这一部分,它会正常工作 - 没有第二个操作栏:
<style name="Theme.MaterialComponents.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style>
当然我想将它保存在 style.xml 文件中,因为这有助于设置通知面板的颜色。
在我看来这失败了,因为 Theme.MaterialComponents.Light.NoActionBar
是一个现有的主题,而您在 styles.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
) 的属性。
我正在使用带有 NoActionBar 的主题。清单文件:
android:theme="@style/Theme.MaterialComponents.Light.NoActionBar"
我正在使用另一个操作栏,我将其包含在布局中:
<include layout="@layout/toolbar" />
但是,我总是得到两个工具栏,上面那个是那个,如果我没有使用NoActionBar 主题就会有。我发现,如果我删除 styles.xml 文件中的这一部分,它会正常工作 - 没有第二个操作栏:
<style name="Theme.MaterialComponents.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style>
当然我想将它保存在 style.xml 文件中,因为这有助于设置通知面板的颜色。
在我看来这失败了,因为 Theme.MaterialComponents.Light.NoActionBar
是一个现有的主题,而您在 styles.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
) 的属性。