为什么我的styles.xml代码成功更改了操作栏溢出菜单的背景颜色,但无法更改我的应用程序中上下文菜单的背景颜色?
<style name="AppBaseTheme" parent="Theme.AppCompat.Light"> <!--<item name="android:actionBarStyle">@style/DarkActionBar</item> --> </style> <!-- Application theme. --> <style name="AppTheme" parent="AppBaseTheme"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> <item name="android:popupMenuStyle">@style/MyPopupMenu</item> <item name="android:itemTextAppearance">@style/MyCustomMenuTextAppearance</item> </style> <!-- Popup Menu Background Color styles --> <!-- <style name="MyPopupMenu" parent="@android:style/Widget.Holo.ListPopupWindow"> --> <!-- <style name="MyPopupMenu" parent="@android:style/Widget.PopupMenu"> --> <style name="MyPopupMenu" parent="@style/Widget.AppCompat.PopupMenu"> <item name="android:popupBackground">@color/dark_gray</item> </style> <!-- Popup Menu Text Color styles --> <style name="MyCustomMenuTextAppearance"> <item name="android:textColor">@color/white</item> </style>
我已经坚持了几个小时,因此类似问题的SO解决方案都没有对我有用.
@Override public void onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu,v,menuInfo); AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo; String selectedWord = ((TextView) info.targetView).getText().toString(); menu.setHeaderTitle(selectedWord); MenuInflater inflater = getActivity().getMenuInflater(); inflater.inflate(R.menu.shopping_list_name_context,menu); }
并且,为了完整性,这是我的上下文菜单xml,shopping_list_name_context.xml:
<item android:id="@+id/rename_shopping_list" android:icon="@drawable/ic_action_edit" android:title="@string/rename_shopping_list" /> <item android:id="@+id/empty_shopping_list" android:icon="@drawable/ic_action_discard" android:title="@string/empty_shopping_list" /> <item android:id="@+id/delete_shopping_list" android:icon="@drawable/ic_action_discard" android:title="@string/delete_shopping_list" />
并且,根据要求,这是我的AndroidManifest.xml的摘录:
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" /> <permission android:name="com.example.myapp.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="com.example.myapp.permission.C2D_MESSAGE" /> <uses-permission android:name="com.android.vending.BILLING" /> <application android:name=".MyApplication" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name_short" android:theme="@style/AppTheme" android:largeHeap="true" >
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。