ListView中的Button点击后相应的Item改变背景颜色
2014-11-09 16:25
302 查看
上一篇中处理了ListView中Button与Item焦点的处理,接上篇文章,本文处理点击Button后相应的Item改变背景。
效果图:
为了给用户一个良好的体验,ListView点击后,相应Item背景会高亮显示。
由于在项目中每个Item上有多个按钮,所以在实现的时候没有写ListView的OnItemClickListener事件,这就给自
己造成了很多困扰,如何点击相应的按钮后Item会自动改变颜色。首先想到的是采用Xml中的Selector来解决,可能
是不清楚一些属性的设置,最后放弃了这个想法。一边听歌放松,一边思考中,想到点击按钮后进行了Activity的跳
转,于是用startActivityForResult来实现该效果,虽然最后是实现了,但是觉得一个简单的效果这样实现特别的别扭,
而且项目中有很多Activity之间的跳转,如果这样实现后期维护感觉是相当的繁琐,遂放弃。
看到网上铺天盖地的相关资料可就是没有找到让自己眼头一亮的,最后在ListView的OnItemClickListener事件
中点击后改变背景得到启发用相同的原理实现了点击Button相应的Item背景改变。
解决方案如下:
在Button的事件监听里面对View的背景进行设置即可。
需要定义一个View来保存上一个view,当前View选中的时候,上一个View的背景需要还原
注意:View的背景还原的时候一定要和初始的一样,否则ListView的Item背景在多次点击后将会失去想要的效果。
效果图:
为了给用户一个良好的体验,ListView点击后,相应Item背景会高亮显示。
由于在项目中每个Item上有多个按钮,所以在实现的时候没有写ListView的OnItemClickListener事件,这就给自
己造成了很多困扰,如何点击相应的按钮后Item会自动改变颜色。首先想到的是采用Xml中的Selector来解决,可能
是不清楚一些属性的设置,最后放弃了这个想法。一边听歌放松,一边思考中,想到点击按钮后进行了Activity的跳
转,于是用startActivityForResult来实现该效果,虽然最后是实现了,但是觉得一个简单的效果这样实现特别的别扭,
而且项目中有很多Activity之间的跳转,如果这样实现后期维护感觉是相当的繁琐,遂放弃。
看到网上铺天盖地的相关资料可就是没有找到让自己眼头一亮的,最后在ListView的OnItemClickListener事件
中点击后改变背景得到启发用相同的原理实现了点击Button相应的Item背景改变。
解决方案如下:
在Button的事件监听里面对View的背景进行设置即可。
需要定义一个View来保存上一个view,当前View选中的时候,上一个View的背景需要还原
注意:View的背景还原的时候一定要和初始的一样,否则ListView的Item背景在多次点击后将会失去想要的效果。
Button的监听如下: private class listener implements View.OnClickListener{ private View view; public listener(View view){ this.view = view; } @Override public void onClick(View v) { // TODO Auto-generated method stub if(preView == null){ view.setBackgroundResource(R.color.itemselected); preView = view;//preView定义为全局的,不在listener中定义 }else{ preView.setBackgroundDrawable(view.getBackground()); view.setBackgroundResource(R.color.itemselected); preView = view; } } } }
相关文章推荐
- 实现listview条目点击后改变item背景颜色和字体颜色并保留
- Android 代码模拟ListView item的点击事件并且改变背景颜色(笔记)
- listview、GridView单点击效果,点击改变背景改变item字体颜色实现
- 点击listview,改变item的背景颜色设置
- ListView中TextView和item背景点击改变颜色
- android中listView点击对应item并改变button的文字
- Android 点击控件(比如ListView中item),抬起后,保持按下的背景颜色
- ListView点击后改变item颜色的Demo
- Android开发技巧:点击Button改变其背景颜色
- //点击listview的某一项改变其背景颜色,(例如,点击该项时该项的背景为黄色,其他没被点击的项,背景为率色(默认))
- ListView 点击Item的时候,改变文字颜色和背景色
- 怎么让点击item的时候里面的button不会变换背景颜色,在点击具体的button时才变??
- AndroidListView点击Item的时候 改变文字颜色和背景色
- 横向滚动的ListView并且点击item附带item的背景改变
- Android中在点击ListView的item时改变其背景
- 动态改变Listview的item背景颜色和item中字体的颜色
- Android开发实现ListView点击item改变颜色功能示例
- ListView 点击Item的时候,改变文字颜色和背景色
- android gridview点击子选项动态改变item背景颜色
- ListView点击item改变背景,重新选中另一项刷新,默认是选中第一项的状态