Android导航抽屉选择器颜色

问题描述:

我想改变导航抽屉片段上的高光颜色。我为导航抽屉使用了预建的项目模板。我已经搜索了许多不同的解决方案,但到目前为止,他们都没有工作。目前,这是我所:Android导航抽屉选择器颜色

list_selector.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:drawable="@color/ListBackground" android:state_activated="false"></item> 
    <item android:drawable="@color/OrangeBackground" android:state_pressed="true"></item> 
    <item android:drawable="@color/OrangeBackground" android:state_activated="true"></item> 
</selector> 

NavigationDrawerFragment.java 惟有我张贴相关mDrawerList构造函数/ decleration。

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     mDrawerListView = (ListView) inflater.inflate(
       R.layout.fragment_navigation_drawer, container, false); 
     mDrawerListView.setSelector(R.drawable.list_selector); 
     mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       selectItem(position); 
       view.setSelected(true); 
      } 
     }); 
     mDrawerListView.setAdapter(new ArrayAdapter<String>(
       getActionBar().getThemedContext(), 
       android.R.layout.simple_list_item_activated_1, 
       android.R.id.text1, 
       new String[]{ 
         getString(R.string.title_section1), 
         getString(R.string.title_section2), 
         getString(R.string.title_section3), 
         getString(R.string.title_section4), 
         getString(R.string.title_section5), 
         getString(R.string.title_section6) 
       })); 
     mDrawerListView.setItemChecked(mCurrentSelectedPosition, true); 
     return mDrawerListView; 
    } 

你应该改变项目的位置,就像这样:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:drawable="@color/OrangeBackground" android:state_pressed="true"></item> 
    <item android:drawable="@color/OrangeBackground" android:state_activated="true"></item> 
    <item android:drawable="@color/ListBackground"></item> 
</selector> 
+0

感谢,这也让这个当我点击它暂时改变颜色的菜单项。但是,这种颜色不会留下。 – Kyle 2014-09-10 17:22:48

+0

你需要添加 android:listSelector =“@ android:color/black”到你的列表视图xml – MHP 2014-09-10 17:25:04

+0

好吧我尝试添加到我的fragment_navigation_drawer.xml,但它没有改变任何东西。 – Kyle 2014-09-10 17:28:01