设置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控件选中item项,并保持选中状态

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

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

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

    Android 保留listview item的选中样式

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

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

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

    ListView 处理Item的选中状态(checked)

    在开发筛选条件相关的界面时,会用到如下界面,左栏选择一项,右边跳出子栏继续选择。如图: 实现起来也不难:       1. 建立一个Activity,layout中包含两个FrameLayout...
    • javine
    • javine
    • 2016年03月18日 14:33
    • 3110

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

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

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

    public class MyAdapter extends BaseAdapter {            public View getView(int position, View conv...
    • hhy018
    • hhy018
    • 2015年01月07日 09:01
    • 574

    android-多个listview菜单数据点击item项保留选中状态问题

    布局中的listview需要特别添加红色标识属性             android:layout_width="167dp"             android:layout_hei...

    Android ListView点击确认时保留选中状态

    1.ListView的使用上需要加上红色标注的内容:             android:layout_width="167dp"             android:layout_heig...

    android ListView-选中项固定在某一项

    最近做盒子项目,需要做一个列表效果,用遥控器上下移动列表时,选中项始终在第三行,且移动时有动画。起初想到使用自定义View来实现,这样确实很方便,但是有一个问题,当我需要更新列表时需要每次重新删除所有...
    • whuthm
    • whuthm
    • 2014年10月31日 16:34
    • 1925
    内容举报
    返回顶部
    收藏助手
    不良信息举报
    您举报文章:设置ListView的选中状态:android:state_activated="true"
    举报原因:
    原因补充:

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