android navidgation drawer 在导航抽屉中如何改变List选中项的颜色?

2015-1-4 9:34:53     人阅读    

如题,android navidgation drawer如何改变导航抽屉中选中的项目的颜色,现在默认是绿色的。

如下图展示的具体样式,我想把绿色的颜色变成我想要的颜色,但是我试验了很多方法,总是改变不了


最后,经过我不断测试,发现问题在 “android.R.layout.simple_list_item_activated_1”。

他是android自动创建在xml中的,没有拌饭修改他

所以我创建了一个nav_drawer_layout.xml 文件,该文件  包含相同的“android.R.layout.simple_list_item_activated_1”nav_drawer_layout.xml。

然后,我调整了它改变了android:background 属性是这样的:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:gravity="center_vertical"
    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
    android:background="@drawable/nav_drawer_colors"
    android:minHeight="?android:attr/listPreferredItemHeightSmall" />

它指的是 nav_drawer_colors.xml 选择器 你必须创建:

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


现在一切都好,除了到处阴影效果,但不是在列表视图^ ^ 编辑:指定背景颜色的片段导航抽屉布局(fragment_navigation_drawer.xml)和删除 <项目android:可拉的= " @color / backgroung_drawer " / > 在 nav_drawer_colors.xml 文件:)
希望它能帮助那些有相同的问题:)

 

处理方法

通过编码可以实现这个项目上单击列表视图:
int save = -1;
l

listview.setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {
                    // TODO Auto-generated method stub

                    parent.getChildAt(position).setBackgroundColor(
                            Color.parseColor("#A9BCF5"));

                    if (save != -1 && save != position) {
                        parent.getChildAt(save).setBackgroundColor(
                                Color.parseColor("#d6e6ff"));
                    }

                    save = position;
          });

使用选择器:
做一个文件命名 select.xml 在 可拉的 文件夹中。

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


现在这个文件设置为Listselector列表视图的xml文件。 喜欢,
android:listselector="@drawable/select"
或作为背景
android:background="@drawable/select"


原文地址:http://www.itmmd.com/201501/434.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

android学习笔记(33)画廊视图(Gallery)的功能和用法   上一篇
下一篇  My app 在Android Studio中一直崩溃..运行不起来
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!