前言
gallery的item使用的是一个imageview+textview,并且为其设置了selector,当使用setselection设置时、横竖屏切换时item的状态不会改变,这个目前在2.2/2.3系统中存在,高版本如4.0是不存在的。
正文
一、第一步,解决imageview的状态问题
为imageview设置 :android:focusableintouchmode="true"
注意同样属性设置textview不管用。
二、第二步,手动控制文本根据状态不同设置不同颜色
2.1 在onconfigurationchanged中通知gallery的adapter数据更新notifydatasetchanged
2.2 在gallery的onitemselected中通知gallery的adapter数据更新notifydatasetchanged
2.3 在gallery adapter的getview中根据当前选中索引修改文本颜色
if (position == mgallery.getselecteditemposition()) { title.settextcolor(color_nav_selected); } else title.settextcolor(color_nav_normal);
其中color_nav_selected和color_nav_normal分别是选中和未选中的颜色。
结束
注意,该问题在手动滑动gallery时不存在,通过setselection更改gallery选中项时存在,且高版本中不存在。
以上就是对android(2.2/2.3版本)gallery 常出现错误的分析,希望能帮助开发android的朋友。
如对本文有疑问, 点击进行留言回复!!
LongClick原理、上下文菜单原理、EditText长按弹窗原理、WebView长按弹窗自定义、修复WebView全选重复bug ———————————————— 版权声明:本文为CSDN博主「
JobScheduler 实现 特定时间,特定条件(系统空闲,电池电量,磁盘空间 ……)下执行任务
温习Android基础知识——《第一行代码(第三版)》读书笔记 Chapter 10 Service
网友评论