用GridView实现Gallery的效果
来源:互联网 发布:电视淘宝 编辑:程序博客网 时间:2024/05/01 22:42
本帖最后由 likeyou 于 2011-11-7 21:01 编辑
这是比较关键的布局文件,GridView能实现横向滚动主要靠它了。其中:
全部源代码:
(很多童鞋说没效果,这里提下,压缩包里是用的setOnItemSelectedListener事件,我这里是给机顶盒用的:也就是键盘加遥控器,要想有点击事件在代码添加个setOnClickListener事件代码跟setOnItemSelectedListener代码一样)
在实现横向的类似Gallery的效果中做了实现Gallery的尝试,但是效果不好。使用的是TableLayout,出现了横向拖动图片的时候,因为有倾斜(轻微的竖向拖动),会整个列表竖向滚动。其实这个问题可以将TableRow中条目设置为clickable来解决。但是效果依然不好。
这次尝试通过GridView来解决问题,效果很好,见截图:
基本思路是:
- 每个可选的图,包括文字部分,是GridView中的一个条目;
- 一个GridView条目是相对布局(RelativeLayout),里面包含一个图片(ImageView)和一个文字(TextView);
- 关键点是GridView如何保持横向,默认的情况下会折行的,首先要用一个HorizontalScrollView提供横向滚动容器,然后内部放置一个FrameLayout,如果不放置FrameLayout布局,直接放入下面的布局或者视图,GridView将会变成单列纵向滚动,在FrameLayout布局中加入横向的LinearLayout布局,要设置它的layout_width,要足够大,这样在其中加入GridView就能横向排列了。
首先看一下GridView中条目的布局:
这里使用了相对布局的特性,android:layout_below,表示TextView在ImageView下面。这里的图都是用的res/drawable目录下的静态图形文件,正式情况下,应该是从网络获取,可参见用Java concurrent编写异步加载图片功能的原型实现,二者结合可用于正式生产环境。
ListView的Header使用了自定义视图,更简单的示例可参见为ListView增加Header。表头(ListView Header)的布局文件:
这是比较关键的布局文件,GridView能实现横向滚动主要靠它了。其中:
我是写死了1100dp,正式使用的时候,因为图片都可能是动态从服务器上获取的,可以根据数量以及图片的宽度,空白边动态计算这个长度。
GridView和ListView类似,都需要ViewAdapter来适配数据和视图。
见Activity的源代码:
全部源代码:
http://easymorse.googlecode.com/svn/tags/grid.demo-0.1.0/
项目需求在制定大小区域写一个横向菜单栏,菜单栏整体不能移动,GalleryFlow画廊不能满足需求,就自己重写写了一个)划到当图片时换个图片且动画效果渐渐放大,划到下一张时候前一张用动画渐渐还原原来大小----先上个效果图,没有找到一样大小 的图就用喷笔喷了点,希望大伙原谅,咱看效果
(很多童鞋说没效果,这里提下,压缩包里是用的setOnItemSelectedListener事件,我这里是给机顶盒用的:也就是键盘加遥控器,要想有点击事件在代码添加个setOnClickListener事件代码跟setOnItemSelectedListener代码一样)
动画, 图片
- 用GridView实现Gallery的效果
- 用GridView实现Gallery的效果
- 用GridView实现Gallery的效果
- Android 用GridView实现Gallery效果
- GridView模拟Gallery的效果
- android 使用GridView实现Gallery的效果,并且从最左边开始
- Android gallery实现选中放大的效果
- 自定义Gallery实现立体,倒影的效果
- Android gallery实现选中放大的效果
- 自定义Gallery实现立体,倒影的效果
- Android gallery实现选中放大的效果
- Android Gallery实现选中放大的效果
- [Android] Gallery选中变大效果的实现
- 用gridview实现可折叠的现实效果
- 用ListView实现GridView的效果
- 用HorizontalScrollView布局实现类似Gallery效果
- 用HorizontalScrollView布局实现类似Gallery效果
- (2)iOS用UICollectionView实现Gallery效果
- spring hibernate初步
- HTML中id、name、class 区别
- boa流程分析
- 深入浅出的理解框架(Struts2、Hibernate、Spring)与 MVC 设计模式
- 简单音乐播放源码
- 用GridView实现Gallery的效果
- linux基本操作学习笔记
- 第十四周----阅读程序(1)(2)
- JAVA的JMX
- 深入研究JavaScript的Module模式
- CentOS--Linux远程管理之SSH、VNC
- bcp,只为boost库瘦身
- 当鼠标移动到图片上时,跟随鼠标显示放大的图片
- Android 4权威专家撰写,经典作品最新升级版(内附部分章节试读下载地址)