Android开发之ListView选中某行后改变其背景色
2017-10-11 16:50
417 查看
Android开发之ListView选中背景色
一、在ListView中手指按下选中某一行时,更换选中那一行的背景色,放开之后恢复原来的背景色首先在项目的res路径下的drawable文件中创建一个xml文件(如果没有drawable文件自己新建一个),然后在此xml文件中加入如下代码:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:drawable="@color/colorlvBtn"></item> <item android:state_pressed="true" android:drawable="@color/colorlvBtn"/> </selector>
这两句代码的意思就是:当ListView中的某一行为焦点时,以及你触碰某一行时,改变此行的背景色。
当然,其中的@color后面的代码也是个xml文件,需要在其他地方定义,我是在drawable同级目录下创建了一个叫values的文件夹,然后在此文件夹中创建了colors.xml的文件(正常来说项目新建后会有这个文件),代码如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorPrimary">#3F51B5</color> <color name="colorPrimaryDark">#303F9F</color> <color name="colorAccent">#FF4081</color> <color name="colorlvBtn">#FF9900</color> <color name="colorlvBtnBehind">#0000</color> </resources>
这样的好处是方便后期管理。
最后,在你需要改变背景色的ListView中加入:
android:listSelector="@drawable/listview_button"
这个属性(listview_button是你最开始创建的xml文件),然后你就会发现你触摸某一行之后背景色就会改变,放开时背景色又变回来了。
二、按下ListView的某一行之后,改变其背景色,但不恢复到原来的背景色。
要实现这个效果也很简单,你只需在listview的点击事件中:
listview.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1,int index, long arg3) { listview.setSelector(R.color.colorlvBtn); } }
核心代码如下:
//设置选中行的背景色 listview.setSelector(R.color.colorlvBtn);
当然,colorlvBtn也是个xml文件,具体创建方法上面已列出。然后,在你点击某一行后,那一行的背景色就会发生改变,且不会再变回原来的背景色。
相关文章推荐
- Android ListView 去除边缘阴影、选中色、拖动背景色、行高、addFootView等
- android listView 点击Item的时候,改变文字颜色和背景色
- Android ListView 去除边缘阴影、选中色、拖动背景色等
- Android ListView 去除边缘阴影、选中色、拖动背景色、行高、addFootView等
- 【android】listview改变选中行字体颜色
- Android开发之旅一计算ListView选中item的高度
- 关于ListView 单选模式下 改变 选中的item的背景色
- Android开发listview选中高亮简单实现代码分享
- Android ListView 去除边缘阴影、选中色、拖动背景色等
- Android ListView 去除边缘阴影、选中色、拖动背景色等
- Android开发实现ListView点击item改变颜色功能示例
- Android ListView 去除边缘阴影、选中色、拖动背景色等(android:cacheColorHint="#00000000")
- Android开发:在ListView中使用RadioGroup时出现混乱选中现象
- android listview 选中部分 文字颜色改变
- Android ListView 去除边缘阴影、选中色、拖动、底部上拉、顶部下拉背景色等
- android上改变listView的选中颜色
- Android ListView 去除边缘阴影、选中色、拖动背景色、行高、addFootView
- Android ListView 去除边缘阴影、选中色、拖动背景色等
- Android开发:在ListView中使用RadioGroup时出现混乱选中现象
- Android开发入门例程之动态改变背景色