Android 无法设置操作栏背景颜色和选定的listview颜色

Android 无法设置操作栏背景颜色和选定的listview颜色,android,android-layout,android-listview,android-styles,android-menu,Android,Android Layout,Android Listview,Android Styles,Android Menu,我使用了以下代码: listview.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() { @Override public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) { final int

我使用了以下代码:

  listview.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {
            @Override
            public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {


                final int checkedCount = listview.getCheckedItemCount();

                mode.setTitle(checkedCount + " Selected");



            }

            @Override
            public boolean onCreateActionMode(ActionMode mode, Menu menu) {

                mode.getMenuInflater().inflate(R.menu.mymenu, menu);
                return true;
            }

            @Override
            public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
                return false;
            }

            @Override
            public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.delete:
            //my delete code
                        mode.finish();
                        return true;
                    default:
                        return false;
                }
            }

            @Override
            public void onDestroyActionMode(ActionMode mode) {
                //
            }
        });
mymenu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/delete"
        android:icon="@android:drawable/ic_menu_delete"
        android:title="Delete"
        app:showAsAction="always"
        />

</menu>

styles.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

        <item name="android:actionModeBackground">@android:color/holo_blue_dark</item>
        <item name="android:actionModeStyle">@style/TestActionModeStyle</item>

    </style>

    <style name="TestActionModeStyle">
        <item name="android:titleTextStyle">@style/TestTitleStyle</item>
        <item name="android:subtitleTextStyle">@style/TestSubTitleStyle</item>
    </style>

    <style name="TestTitleStyle">
        <item name="android:textColor">@android:color/black</item>
        <item name="android:background">@android:color/holo_red_dark</item>
    </style>

    <style name="TestSubTitleStyle">
        <item name="android:textColor">@android:color/black</item>
        <item name="android:background">@android:color/holo_green_dark</item>
    </style>

@android:color/holo_blue_深色
@样式/测试样式
@样式/测试标题样式
@风格/测试风格
@android:彩色/黑色
@安卓:彩色/全息红/暗
@android:彩色/黑色
@安卓:彩色/全息绿/深色
当我长按listview时,项目被选中,菜单中带有删除按钮。但我无法设置整个菜单的颜色,所选的listview项目也不会反映出来

菜单背景色为白色,所选listview项也为白色

因此,我想更改菜单颜色和listview颜色中的选定项

从上面的代码来看,它不工作


如何解决此问题?

检查此答案以了解问题的菜单部分:

此答案用于更改选定的listview项目

为了完整起见,这里列出这些问题中与您相关的部分:

菜单(注意,他们提到了Actionbar,但菜单也包括在内):

有一种简单的方法可以在Actionbar使用中更改颜色 发电机

但是,由于您已经有了一个样式,您只想更新菜单,就像链接问题中的进一步内容一样:

在样式生成器中,相关设置为弹出颜色,该颜色 影响“溢出菜单、子菜单和微调器面板背景”

继续生成zip,但是在生成的所有文件中,您 只需要一个图像,菜单\下拉菜单\面板\示例9.png,它 看起来像这样:

因此,将它的不同分辨率版本添加到res/drawable-*。 (或者将它们重命名为menu_dropdown_panel.9.png。)

然后,作为一个例子,在res/values/themes.xml中 以下是android:popupMenuStyle和android:popupBackground 正在进行关键设置

<style name="MyAppActionBarTheme" parent="android:Theme.Holo.Light">
    <item name="android:popupMenuStyle">@style/MyApp.PopupMenu</item>
    <item name="android:actionBarStyle">@style/MyApp.ActionBar</item>
</style>

<!-- The beef: background color for Action Bar overflow menu -->
<style name="MyApp.PopupMenu" parent="android:Widget.Holo.Light.ListPopupWindow">
    <item name="android:popupBackground">@drawable/menu_dropdown_panel</item>
</style>

<!-- Bonus: if you want to style whole Action Bar, not just the menu -->
<style name="MyApp.ActionBar" parent="android:Widget.Holo.Light.ActionBar.Solid">
    <!-- Blue background color & black bottom border -->
    <item name="android:background">@drawable/blue_action_bar_background</item>
</style>   


但我有没有动作条的风格。我不能改变基本主题。是的,关于这个问题你必须读得更深入一点。我会更新我的答案。我已经试过了。但我仍然没有找到解决办法。
OnItemClickListener listViewOnItemClick = new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> adapter, View arg1, int position, long id) {
            mSelectedItem = position;
            mAdapter.notifyDataSetChanged();
    }
}; 
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    final View view = View.inflate(context, R.layout.item_list, null);

    if (position == mSelectedItem) {
        // set your color
    }

    return view;
}