use*_*307 11 android android-theme android-styles android-popupwindow
我试图改变popupmenu的背景,但我的实现不起作用.
这是我的代码:
<style name="MyHoloLight" parent="android:Theme.Holo.Light">
<item name="android:popupMenuStyle">@style/popupMenuStyle</item>
</style>
<style name="popupMenuStyle" parent="@android:style/Widget.PopupMenu">
<item name="android:popupBackground">@color/bgPopumMenu</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在AndroidManifest.xml中应用
<application
android:hardwareAccelerated="true"
android:label="@string/app_name"
android:icon="@drawable/ic_launcher"
android:theme="@style/MyHoloLight">
Run Code Online (Sandbox Code Playgroud)
Raj*_*aju 31
以下款式适合我.
<style name="popupMenuStyle" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:textColor">@color/color_white</item>
<item name="android:itemBackground">@color/color_red</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在这里,父母应该是AppTheme的父母
并在您的代码中使用这些行.
Context wrapper = new ContextThemeWrapper(context, R.style.popupMenuStyle);
PopupMenu popup = new PopupMenu(wrapper, v);
Run Code Online (Sandbox Code Playgroud)
我希望它能奏效.
如果bgPopumMenu是你的图像,那么使用它.
<style name="popupMenuStyle" parent="@android:style/Widget.PopupMenu">
<item name="android:popupBackground">@drawable/bgPopumMenu</item>
</style>
Run Code Online (Sandbox Code Playgroud)
您需要将自己的风格应用到AppTheme中.所以试试吧.
<style name="AppTheme" parent="android:Theme.Holo.Light">
<item name="android:popupMenuStyle">@style/popupMenuStyle</item>
</style>
<style name="popupMenuStyle" parent="@android:style/Widget.PopupMenu">
<item name="android:popupBackground">@color/bgPopumMenu</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我对@Raju 的代码和以下对我有用的样式做了一些更改,
Context wrapper = new ContextThemeWrapper(context,R.style.popupMenuStyle);
PopupMenu popup = new PopupMenu(wrapper, YourView);
Run Code Online (Sandbox Code Playgroud)
这是我的风格,
<style name="popupMenuStyle" parent="android:Theme.Holo.Light.DarkActionBar">
<item name="android:popupMenuStyle">@style/MyApp.PopupMenu</item>
<item name="android:textColor">@color/White</item>
</style>
<style name="MyApp.PopupMenu" parent="android:Widget.Holo.Light.ListPopupWindow">
<item name="android:popupBackground">@color/color_semi_transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)