基于Launcher代码改进的水平视图容器(类gallery)
来源:互联网 发布:只会ps能做淘宝美工吗 编辑:程序博客网 时间:2024/06/05 04:40
Android Launcher是基于水平的视图容器(ViewGroup)。最外面的是workspace,是一个viewgroup. 每一屏幕就是一个celllayout.,也是一个Viewgroup。Celllayout管理每个View,即cell.. 原生的android Launcher源代码里面对屏数有一定限制,是基于内存考虑的。
目前的我对Launcher改进,能满足对无限制数量的需求。大概的思路如下:
启动一个后台线程,用于后台构建View. 将数据赋予View 的Tag里面。保持五屏的视图(即五个celllayout). 当向右或向左滑动的时候,会将向前或向后的一屏View清空,所启动的后台线程同时向后或向前生成新一屏的视图。这样就可以满足无限数量的限制。
横竖屏切换的时候,由于横竖屏的布局和每屏数目不一样,所以数据要重新构建,先构建当前屏的视图,然后再向左和向右构建视图,以保持五屏的视图Celllayout。这样就保证了横竖屏幕切换的时候不会慢。
搜索功能和横竖屏切换差不多,都是要重新构建workspace.也是构建当前屏的视图,然后再向左和向右构建视图。
目前基于Launcher代码改进的水平视图容器,还存在以下不足:
1. 还不是真正意义上的无限数量,数据源越大,celllayout就越大,目前只对Cell这块进行旧视图的清空和新视图的构造。因为cell是最耗内存资源。
- 基于Launcher代码改进的水平视图容器(类gallery)
- Launcher的视图的构成
- Gallery的简单功能和用法(画廊视图)
- android 图片水平显示,类Gallery效果
- Android 图片水平显示 类Gallery效果
- ANDROID图片浏览(带水平滑动的GridView和类似gallery的ViewPage)
- Gallery与衍生的BaseAdapter容器
- 画廊视图(Gallery)的功能和用法
- 基于密度聚类算法的改进
- 搭配衣服(基于上一版的改进)
- 容器类Map的视图集keySet
- django--基于类的视图
- C++沉思录读书笔记(13、14章)-简单容器类的改进
- 基于纯Java代码的Spring容器和Web容器零配置的思考和实现(3) - 使用配置
- NetConnection通信结构(基于对极客学院的代码的改进,直接使用对象进行通信)
- 改进代码的三部曲
- Spring Web MVC框架(七) 基于代码的容器初始化
- Android中画廊视图Gallery和ImageSwitcher组件的使用(十三)
- 解决Invalid white space character (0x …… 文件下载后可直接使用
- MPICH2程序的调试
- 如何做一个出色的部门经理
- Unable to load configuration. - bean - jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/golfclub
- FOJ1334——Length of Sticks
- 基于Launcher代码改进的水平视图容器(类gallery)
- Rokon游戏引擎第四讲
- 一张壁纸
- Map的遍历方法
- 关于控件2
- 火车运煤问题分析
- 安装 删除 卸载 Deb 包文件
- [转载]现代半导体IC芯片封装技术——通史
- 与LP出游