【问题标题】:Android Navigation Drawer Selector ColorAndroid 导航抽屉选择器颜色
【发布时间】:2014-09-11 01:20:43
【问题描述】:

我正在尝试更改导航抽屉片段上的突出显示颜色。我已经为导航抽屉使用了预构建的项目模板。我已经在这个网站上搜索了许多不同的解决方案,但到目前为止,它们都没有奏效。目前,这就是我所拥有的:

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 构造函数/声明。

@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;
    }

【问题讨论】:

    标签: android android-fragments navigation-drawer


    【解决方案1】:

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

    <?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>
    

    【讨论】:

    • 谢谢,这确实做到了,所以当我点击一个菜单项时,它会暂时改变颜色。但是,这种颜色不会保留。
    • 您需要将 android:listSelector="@android:color/black" 添加到您的 listView xml
    • 好的,我尝试将它添加到我的 fragment_navigation_drawer.xml 但它没有改变任何东西。
    • 你的抽屉里有listview?如果是的话,把那行放在ListView标签中
    • 如果你没有 listview 标签,从抽屉中获取 listview 并为它设置上面的行
    猜你喜欢
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多