我是Android主题的新手,所以这可能是一个初学者问题,但我无法弄清楚。
<style name="MyAppTheme" parent="android:Theme.Material">
<item name="android:colorPrimary">@color/primary</item>
<item name="android:colorPrimaryDark">@color/primary_dark</item>
</style>
我想使用新的Material主题,所以我使用Theme.Material
和我自己的colorPrimary和primaryDark颜色来按照我想要的方式获取操作栏。但是对于上下文菜单(当您按右上角的3点图标时打开的菜单)我想使用Theme.Material.Light
版本。所以我希望在白色背景上使用黑色文本的上下文菜单,而不是灰色背景上的白色文本。
我该怎么做?
答案 0 :(得分:2)
我建议不要使用&#34;材料&#34;主题即可。旧设备不支持此功能。但是,如果您使用AppCompat,它将实现相同的效果,但具有向后兼容性。
如果您使用模板创建新活动,它将按您的意愿工作。不过,这是代码:
<!--Application-->
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="popupTheme">@style/NewAppTheme.PopupOverlay</item>
</style>
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>
答案 1 :(得分:0)
将此主题添加到工具栏:
app:popupTheme="@style/myStyle"
在弹出菜单的自定义主题中定义backgroundcolor和textColor:
<style name="myStyle" parent="ThemeOverlay.AppCompat.Light">
<item name="android:colorBackground">yourBackgroundColor</item>
<item name="android:textColor"yourTextcolor></item>
</style>
如果您使用的是ActionBar,请使用ActionBar Generator并使用res文件夹中生成的文件。
希望这有帮助。