利用selector方法使listview,gridview的item背景变色

转载请注明出处:http://blog.csdn.net/harryweasley/article/details/44955845,谢谢

当我点击了一个item后,这个item的背景会一直变色下去,

刚开始使用state_selected,想着点击item后,选中后,他的背景就会改变,但发现并没有起作用,

之后经过谷歌,找到了实现该效果的方法,

我们应该用state_activated而不是state_selected这个方法,并且在xml给listview或者gridview设置他的属性android:choiceMode="singleChoice"

保证只有一个item被选中

其中,selector中的文件是这样的

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 按压后的背景 -->
    <item android:drawable="@drawable/poupwindow" android:state_pressed="true"></item>
    <!-- 选择后的背景 -->
    <item android:drawable="@drawable/poupwindow" android:state_activated="true"></item>
    <!-- 默认的背景 -->
    <item android:drawable="@drawable/gridview_item"></item>

</selector>

关于selector更多的信息,你可以点击这里Android中的Selector的用法

参考地址:http://stackoverflow.com/questions/15767274/state-selected-is-not-working-although-state-pressed-works

时间: 2024-10-10 22:56:37

利用selector方法使listview,gridview的item背景变色的相关文章

Jquery的hover方法让鼠标经过li时背景变色

来源地址:http://itfish.net/article/29790.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <h

重写listview/gridview 的onMeasure方法,解决与ScrollView的冲突问题

自定义类继承listview/gridview 注意item中控件的高要设为固定值 @Overridepublic void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec( Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, exp

universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法

在listview/gridview中使用UIL来display每个item的图片,当图片数量较多需要滑动滚动时会出现卡顿,而且加载过的图片再次上翻后依然会重复加载(显示设置好的加载中图片) 最近在使用UIL遇到了这个问题,相信这个问题许多使用UIL的人都碰到过 现在把解决方法贴出来给有同样问题的朋友做参考 先看下UIL的工作流程 在已经允许内存,存储卡缓存的前提下,当一个图片被请求display时,首先要判断图片是否缓存在内存中,如果false则尝试从存储卡读取,如果依然不存在最后才从网络地址

android实现ListView或GridView中item的倒数功能

有时在开发中可能会遇到当未到某个时间时需要让ListView或GridView中的相应item进行倒数的需求,此时,如果还是按照常见的ListView或GridView的Adapter的写法+计时功能来实现的话,则当滚动ListView或GridView的时候,item就可能会出现复用问题(即不需要进行倒数或当前item的倒数已经结束了,却还会出现倒数的现象),因此,为了解决这种问题,需要进行倒数时,重新遍历当前对象的集合,然后让每个对象的相应时间值减1,最后再通过Adapter的notifyD

Android ListView实现不同item的方法和原理分析

ListView实现不同item的方法和原理分析 一问题抛出Listview是android里面的重要组件,用来显示一个竖向列表,这个没有什么问题:但是有个时候列表里面的item不是一样的,如下图,列表里面应该有3种类型的item  1. 头像在左边的气泡Item ,比如”今天下午我就不出来了,...”2. 头像在右边的气泡Item,比如”那就等着我发你好吧”3. 单张图片显示圆角图片item几种Item的风格是完全不同的,那么怎么实现呢? 二实现方法实现的方法我这里可以列举出两种1. 每个It

listView/GridView getChild获取不到的解决方法

在onCreate或onResume中调用了getChildAt()方法,这时候adapter中的Item还没有放入到AdapterView中去.... 解决方法,当activity获得焦点事件的时候在调用就没问题了 @Override public void onWindowFocusChanged(boolean hasFocus) { // TODO Auto-generated method stub if(hasFocus){ listView.getChildAt(int)     

Android之ListView/GridView 优化

一.效率最低的getView实现 我们知道,ListView和GridView的显示都是通过Adapter的getView实现的. ListView/GridView数据量较小时,我们的处理方式一般是这样的(效率最低的一种方式) 1 public View getView(int position, View convertView, ViewGroup parent) { 2 View item = mInflater.inflate(R.layout.list_item_icon_text,

Androi:ListView+GridView实现仿微信微博朋友圈无焦点冲突

这几天还是在做那个项目 有一个部分是需要有一个类似微信朋友圈那样的功能 开始自己实现是用RecycleView嵌套RecycleView 然后已经把别的弄好了 动态图片那块还没有加上结果我不会搞也没有找到栗子 然后就换了一个思路 看到有listview+gridview的栗子就照着做了一个 先看一下现在的效果 呐 这个是listview嵌套Gridview实现的 评论那些我在recycleview里面做好了之后再加 觉得 把这个嵌套弄好了真是超级开心呐: 嗯 就再回顾一下说一下思路: 1 lis

Android PullToRefresh (ListView GridView 下拉刷新) 使用详解

Android PullToRefresh (ListView GridView 下拉刷新) 使用详解 标签: Android下拉刷新pullToRefreshListViewGridView 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38238749,本文出自:[张鸿洋的博客] 群里一哥们今天聊天偶然提到这个git hub上的控件:pull-to-r