这里有新鲜出炉的精品教程,程序狗速度看过来!
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
本文主要介绍Android Gallery,在Android开发过程中肯定会遇到版本不同,在开发过程中需要调整的,这里针对Android(2.2/2.3系统版本) Gallery解决默认和横竖屏切换选中状态问题
前言
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的朋友。
来源: http://www.phperz.com/article/17/0917/348496.html