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的朋友。
相关推荐
-
android横竖屏切换时候Activity的生命周期
1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3.按crtl+f12切换成横屏时 onSaveInstanceState--> onPause--> onStop--> onDestroy--> onCreate--> onStart--> onRestoreInstanceState--> onResume--> 4.再
-
Android Activity 横竖屏切换的生命周期
前言 在开发中常要处理横竖屏切换,怎么处理先看生命周期 申明 Activity 横竖屏切换时需要回调两个函数 ,所以在此将这个两个函数暂时看成是Activity 横竖屏切换的生命周期的一部分,这两个函数如下 onSaveInstanceState(Bundle outState) :Activity 即将销毁时保存数据 onRestoreInstanceState(Bundle savedInstanceState) : Activity 重建或者恢复时候取出数据 横竖屏切换生命周期 1.启动程
-
android实现在横竖屏切换时页面信息不被重置的示例分享
当屏幕转动切换的时候 Android 机制是:销毁当前屏幕的 Activity ,然后重新开启一个新的适应屏幕改变的 Activity .那么,我们该如何在屏幕切换的时候页面信息不被重置呢? 解决实现:1.在 AnroidMainifest.xml 的 activity 元素中加入: 复制代码 代码如下: android:configChanges="orientation|keyboardHidden" 或 复制代码 代码如下: android:configChanges="
-
Android实现横竖屏切换的实例代码
这几年一直在做手机上和电视盒的App,几乎没有考虑过横竖屏切换的问题.电视盒好说,横屏不变,你要是给它设计个竖屏人家也没机会使:而手机上的应用就不好说了,有些界面你设计了横竖屏兼容可能是为了表示你的功能强大.但是按照惯例,或许也是设计师图省事,我们只是做一个方案.就像目前主流的App都只有竖屏一个模式,比如微信.京东和招商银行.我截了几张图表示一下. 但是像地图之类的应用,也许横屏会显示的更友好一些.请看腾讯地图的设计如下: 细心的你会发现,地图的横竖屏的样式几乎是一样的布局,调整起来还是比较容
-
Android横竖屏切换实例总结
本文实例总结了Android横竖屏切换相关技巧.分享给大家供大家参考,具体如下: 一.禁止横竖屏切换 Android横竖屏切换在手机开发中比较常见,很多软件在开发过程中为了避免横竖屏切换时引发不必要的麻烦,通常禁止掉横竖屏的切换,即通过在AndroidManifest.xml中设置activity中的android:screenOrientation属性值来实现. 该android:screenOrientation属性,他有以下几个参数: "unspecified":默认值 由系统来
-
android中Activity横竖屏切换的那些事
讲解之前需要说明的是 旋转屏幕:在系统的自动旋转屏幕开启的情况下,我们旋转屏幕 手动设置屏幕:我们自己去调用Activity的 setRequestedOrientation 方法. 设置屏幕的方向 简介 值 描述 unspecified 默认值.系统自动选择屏幕方向 behind 跟activity堆栈中的下面一个activity的方向一致 landscape 横屏方向,显示的宽比高长 portrait 竖屏方向,显示的高比宽长 sensor 由设备的物理方向传感器决定,如果用户旋转设备,这屏
-
解决Android手机屏幕横竖屏切换
Android中当屏幕横竖屏切换时,Activity的生命周期是重新加载(说明当前的Activity给销毁了,但又重新执行加载), 怎么使屏幕横竖屏切换时,当前的Activity不销毁呢? 1. 在AndroidManifest.xml中为Activity设置configChanges属性, application android:icon="@drawable/icon" android:label="@string/app_name"> <activ
-
Android编程实现横竖屏切换时不销毁当前activity和锁定屏幕的方法
本文实例讲述了Android编程实现横竖屏切换时不销毁当前activity和锁定屏幕的方法.分享给大家供大家参考,具体如下: 首先在Mainifest.xml的Activity元素中加入android:configChanges="orientation|keyboardHidden"属性 <activityandroid:name=".FileBrowser"android:label="@string/app_name"android:
-
解决Android横竖屏切换数据丢失问题的方法
Android横竖屏切换时,当前的Activity会被销毁,然后Activity上面的数据将会全部丢失. 如Listview上面每个item的checkbox,横竖屏切换时,复选框就丢失所有选中信息. 解决方案1:在Androidmanifest.xml的activity标签中加入android:configChanges="orientation|keyboardHidden" <activity android:configChanges="orientation|
-
解析Android横竖屏切换的问题
在做android 开发时,在默认情况下当屏幕从竖评变到横屏时会触发 onConfigurationChanged 事件 在默认情况下会重新加载画面并显示和横评一样的画面,这样会有2个问题,布局问题,在竖屏 显示的布局到横屏中由于宽和高发生了变化所有多少都会影响到布局(除非你定制2套画面在然后加个判断在横屏时怎么显示,在竖屏时怎么显示),当然最简单的办法就是在项目的 AndroidManifest.xml中找到你所指定的activity 中加上 只竖屏显示的话(android:screenOri
随机推荐
- AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
- 再推荐十款免费的php开发工具
- PHP框架Laravel插件Pagination实现自定义分页
- 简要介绍C++编程中的友元函数和友元类
- js实现div闪烁原理及实现代码
- jquery如何把数组变为字符串传到服务端并处理
- 小议sqlserver数据库主键选取策略
- C#中将DataTable转化成List<T>的方法解析
- C#字符串的常用操作工具类代码分享
- php 7新特性之类型申明详解
- Android为TextView添加字体库和设置描边的方法
- ajax请求后台得到json数据后动态生成树形下拉框的方法
- python爬取微信公众号文章的方法
- 微信小程序上传多图到服务器并获取返回的路径
- Javafx实现国际象棋游戏
- JavaScript对象的浅拷贝与深拷贝实例分析
- SpringBoot+jsp项目启动出现404的解决方法
- vue实现点击选中,其他的不选中方法
- python高阶爬虫实战分析
- springBoot整合CXF并实现用户名密码校验的方法