顺便说一下,继承我的styles.xml:
<resources xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android">
<style name="CustomActionBarTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle" tools:ignore="NewApi">@style/MyActionBar</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar"
parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/action_bar_background</item>
<!-- Support library compatibility -->
<item name="background">@drawable/action_bar_background</item>
</style>
</resources>
任何想法都错了吗?我只想让弹出菜单再次使用默认的灯光主题,并让警告对话框使用黑色的前景色。
答案 0 :(得分:1)
为什么你认为这是错的?
Theme.Light
中的PopupWindow背景很暗:
<style name="Widget.PopupWindow">
<item name="android:popupBackground">@android:drawable/editbox_dropdown_background_dark</item>
<item name="android:popupAnimationStyle">@android:style/Animation.PopupWindow</item>
</style>
如果您想要更改它 - 您需要覆盖主题的弹出窗口样式:
<style name="CustomActionBarTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle" tools:ignore="NewApi">@style/MyActionBar</item>
<item name="android:popupWindowStyle">@style/YourCustomStyle</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="YourCustomStyle" parent="@android:style/Widget.PopupWindow">
<item name="android:popupBackground">@drawable/your_background</item>
</style>
警报对话框以相同方式自定义
答案 1 :(得分:0)
好的,我解决了这个问题。我将应用程序上下文传递给弹出菜单和alertdialog构建器的构造函数。这似乎会导致应用程序主题出现问题。我只是将getApplicationContext()
更改为getActivity()
,然后就可以了。