欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android(2.2/2.3系统)Gallery解决默认和横竖屏切换选中状态问题

程序员文章站 2024-03-06 10:18:37
前言  gallery的item使用的是一个imageview+textview,并且为其设置了selector,当使用setselection设置时、横竖屏...

前言

 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_selectedcolor_nav_normal分别是选中和未选中的颜色。

 结束

 注意,该问题在手动滑动gallery时不存在,通过setselection更改gallery选中项时存在,且高版本中不存在。

 以上就是对android(2.2/2.3版本)gallery 常出现错误的分析,希望能帮助开发android的朋友。