设置ListView的选中状态:android:state_activated="true"

转载 2016年08月31日 10:55:01

1.说明

看这篇文章之前,首先你得知道怎么通过Adapter使用ListView控件,不然请不要往下看。主要是为了便于快速阅读,删除了很多多余的代码。
包含了字体颜色和背景颜色的改变,纯xml。没有上源代码,有时间再进行整理。

2.演示

3.步骤:

    • 1.ListView控件中必须设置属性,不然是不起作用的:
      android:choiceMode="singleChoice"

    • 2.要想让ListView中的文字在激活状态下变为白色,需要在drawable文件夹下设置xml布局文件,见下图:
      代码为:

         <?xml version="1.0" encoding="utf-8"?>
         <selector xmlns:android="http://schemas.android.com/apk/res/android">
             <!-- 激活状态下为白色 -->
             <item
                 android:state_activated="true"
                 android:color="@android:color/white" />
             <!-- 默认为黑色 -->
             <item
                 android:color="#000" />
         </selector>
      
    • 3.然后在子项布局文件的TextView中进行引用这个xml文件android:textColor="@drawable/menu_item_text_color"就可以了:

         <TextView
         android:textColor="@drawable/menu_item_text_color"
         android:text="首页"
         />
    • 4.设置背景颜色(同上面一样):xml布局(这里的drawable属性的值不能是#222这种的,必须定义在资源文件中,不然会报错):

         <?xml version="1.0" encoding="utf-8"?>
         <selector xmlns:android="http://schemas.android.com/apk/res/android">
             <item
                 android:state_activated="true"
                 android:drawable="@color/grey" />
             <item android:drawable="@android:color/transparent" />
         </selector>
    • 5.在LinearLayout中设置属性: android:background="@drawable/menu_item_background"

         <?xml version="1.0" encoding="utf-8"?>
         <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:background="@drawable/menu_item_background">
             <TextView
                 android:textColor="@drawable/menu_item_text_color"
                 android:text="首页"
                 />
         </LinearLayout>
      

    4.注意:别忘了设置ListView的属性android:choiceMode="singleChoice",不然是看不出android:state_activated="true"的作用的。

  • android listview选中某一行,成选中状态颜色高亮显示

    构造自己的adapter,在getView中,设置颜色,点击item,刷新listview。代码:import java.util.ArrayList; import java.util.HashM...
    • dany1202
    • dany1202
    • 2010年11月29日 19:17
    • 82195

    Android ListView控件选中item项,并保持选中状态

    这几天在做公司的项目,有这样一个需求,就是在listView里,点击item子项的时候需要保持item子项的选中状态,上网搜了一些资料,最后也实现了。现在就记录下来,一方面方便以后自己回顾好复习温故,...
    • raoj1991
    • raoj1991
    • 2016年04月16日 16:31
    • 7068

    安卓ListView选中状态

    • 2014年03月11日 15:21
    • 80KB
    • 下载

    listview保持选中状态

    • 2015年07月29日 17:52
    • 21KB
    • 下载

    android listview设置选中时的item的背景色

    今天实在不知道写些什么内容,所以自己在网上找了些资料,觉得还可以,所以还是写一下,觉得每天写些东西的习惯不能荒废。 默认情况下使用ListView背景色是黑色,选中item的高亮颜色是菊黄色,很多时...
    • bzlj2912009596
    • bzlj2912009596
    • 2017年04月07日 08:38
    • 1376

    Android 保留listview item的选中样式

    最近工作中需要实现"保存listview item的选中样式"的功能,这样当用户点击某个条目去查看详细信息,返回时可以知道上次查看了哪个条目. 现在把自己的研究成果共享给大家,共同进步! 一开始以为该...
    • johnny901114
    • johnny901114
    • 2012年07月30日 17:45
    • 11043

    Android中ListView结合CheckBox判断选中项

    本文主要实现在自定义的ListView布局中加入CheckBox控件,通过判断用户是否选中CheckBox来对ListView的选中项进行相应的操作。通过一个Demo来展示该功能,选中ListView...
    • cjjky
    • cjjky
    • 2011年11月14日 01:13
    • 47233

    Android ListView自定义和选中效果

    1.自定义列表框的每项 layout文件夹中创建xml文件,在自定义的adapter的getview方法中加载。 xml version="1.0" encoding="utf-8"?>...
    • ocean181
    • ocean181
    • 2012年01月07日 14:50
    • 3587

    Android ListView批量选择(全选、反选、全不选)

    Android ListView结合CheckBox实现支持全选、全不选、反选、获取选择的数据信息等功能...
    • zuiwuyuan
    • zuiwuyuan
    • 2015年11月30日 20:35
    • 9676

    android:state_activated可以解决焦点问题

    今天做项目的时候,使用fragment+viewpaper组合。 由于某个fragment中有edittext需要获取焦点,而fragment状态使用button来表示的。 怎么表述才清楚呢,算了,上...
    • Singleton1900
    • Singleton1900
    • 2014年03月29日 15:28
    • 9042
    内容举报
    返回顶部
    收藏助手
    不良信息举报
    您举报文章:设置ListView的选中状态:android:state_activated="true"
    举报原因:
    原因补充:

    (最多只允许输入30个字)