解决ListView的listSelector被覆盖不起作用的问题

泡在网上的日子 / 文 发表于2014-09-23 11:03 次阅读 ListView

ListView的listSelector属性可以为列表的某个元素被点击时产生按下的效果,但是某些情况下这个listSelector属性的效果会被覆盖,比如列表的Item为一个占满单元格的ImageView的时候,ImageView如果有内容那么listSelector的效果就会被挡住。

解决的办法是为ListView添加drawSelectorOnTop属性并设置为true。

drawSelectorOnTop的解释:

When set to true, the selector will be drawn over the selecteditem. Otherwise the selector is drawn behind the selected item. Thedefault value is false.

当设置为true,selector 将绘制在被点击item的上面,反之绘制在被点击item的下面,默认为false。

android:drawSelectorOnTop="true" 点击某一条记录,颜色会显示在最上面,记录上的文字被遮住,所以点击文字不放,文字就看不到

android:drawSelectorOnTop="false"点击某条记录不放,颜色会在记录的后面,成为背景色,但是记录内容的文字是可见的


收藏 赞 (6) 踩 (10)
上一篇:android获取屏幕尺寸的三种代码
第一种: DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);System.out.println("heigth : " + dm.heightPixels);System.out.println("width : " + dm.widthPixels); 第二种 Display display = getWindowMa
下一篇:android GridView如何像ListView那样使用addHeaderView
GridView和ListView的唯一不同是他不能像ListView 那样添加header,因为他没有addHeaderView方法,不过有时我们的确需要一个带有header的GridView。 不过google已经为我们解决了这个问题,在原生系统的Gallery2应用中google自己写了一个HeaderGridView的类,