Android开发:GridView与ListView互相切换(动画效果)(转)
对于一些软件来讲,但愿达到 GridView与ListView这两种方式来显示相同的内容,在内容较少时,用户能够选择九宫格(GridView)方式浏览,在内容较多时能够切换为列表浏览(ListView),那么,这种方式改如何切换呢.this
咱们知道,对于任意一个ui组件来讲都是View的子类,而View包含一个方法View.setVisibility (),该方法能够控制View的显示或者隐藏,那么只要在button的click事件中加入对于相应View的显示/隐藏控制便可spa
切换为GridView时,ListView隐藏设计
切换为ListView时,GridView隐藏3d
那么,该如何布局呢 很简单,先假设只有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;
}
将这个layoutanimationcontroller传入后再试试
动画仍是挺炫的呵呵