Android开发:GridView与ListView相互切换(动画效果)
2015-06-23 21:05
525 查看
Android开发:GridView与ListView互相切换(动画效果)(转)
对于一些软件来说,希望达到 GridView与ListView这两种方式来显示相同的内容,在内容较少时,用户可以选择九宫格(GridView)方式浏览,在内容较多时可以切换为列表浏览(ListView),那么,这种方式改如何切换呢.
我们知道,对于任意一个ui组件来说都是View的子类,而View包含一个方法View.setVisibility (),该方法可以控制View的显示或者隐藏,那么只要在button的click事件中加入对于相应View的显示/隐藏控制即可
切换为GridView时,ListView隐藏
切换为ListView时,GridView隐藏
那么,该如何布局呢 很简单,先假设只有GridView来布局,布局完成之后,在GridView之后在更上一个完全相同属性的listview就可以了.注意在activity oncreate时就需要将其中一个隐藏
布局文件如下
接着,我们就可以在button的onclick事件中通过setVisibility(View.GONE)来隐藏了
当然,为了让界面更好看
我们还可以为这两个View加上动画以girdview为例
gridview.setLayoutAnimation();
这个方法就可以为对应的view加上动画了
我这里写一个模拟3d的切换动画生成对应的layoutanimationController
通过Rotate3d这个类实现
将这个layoutanimationcontroller传入后再试试
动画还是挺炫的呵呵
p.s 有点卡是因为只是模拟器,真机非常流畅
对于一些软件来说,希望达到 GridView与ListView这两种方式来显示相同的内容,在内容较少时,用户可以选择九宫格(GridView)方式浏览,在内容较多时可以切换为列表浏览(ListView),那么,这种方式改如何切换呢.
我们知道,对于任意一个ui组件来说都是View的子类,而View包含一个方法View.setVisibility (),该方法可以控制View的显示或者隐藏,那么只要在button的click事件中加入对于相应View的显示/隐藏控制即可
切换为GridView时,ListView隐藏
切换为ListView时,GridView隐藏
那么,该如何布局呢 很简单,先假设只有GridView来布局,布局完成之后,在GridView之后在更上一个完全相同属性的listview就可以了.注意在activity oncreate时就需要将其中一个隐藏
布局文件如下
接着,我们就可以在button的onclick事件中通过setVisibility(View.GONE)来隐藏了
当然,为了让界面更好看
我们还可以为这两个View加上动画以girdview为例
gridview.setLayoutAnimation();
这个方法就可以为对应的view加上动画了
我这里写一个模拟3d的切换动画生成对应的layoutanimationController
通过Rotate3d这个类实现
1 2 3 4 5 6 7 8 9 | public static LayoutAnimationController getgridlayoutAnim() { LayoutAnimationController controller; Animation anim=new Rotate3dAnimation(90f,0f,0.5f,0.5f,0.5f,false); anim.setDuration(500); controller=new LayoutAnimationController(anim,0.1f); controller.setOrder(LayoutAnimationController.ORDER_NORMAL); return controller; } |
动画还是挺炫的呵呵
p.s 有点卡是因为只是模拟器,真机非常流畅
相关文章推荐
- Android中Fragment的知识
- Android OpenGL ES(三)----编程框架
- 安卓xml布局中 android:paddingBottom="@dimen/activity_vertical_margin"是什么意思?
- Android 图片裁剪 超出内存
- Android实战简易教程-第二十枪(GridView长按显示删除)
- android 伸缩控件ExpandableListView 展开失败的可能原因。
- android布局之 GridLayout的使用
- Activity的七大生命周期
- android-textview
- 通过Intent传输图片导致广播消息异常的问题根因分析(通过分析Android源码反向推理)
- Android 通知栏ANR原因
- Android入门之GridView(九宫图)
- android-RecyclerView
- Android深入浅出之Zygote
- Android CTS(兼容性测试)整个流程
- android:android Intent and IntentFilter
- Ubuntu14.04下搭建android5.1编译环境
- Android内核开发:系统启动速度优化
- Android的事件分发(二)
- Java(Android) Excpetion