Android开发:GridView与ListView相互切换(动画效果)

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这个类实现

  

  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传入后再试试

  动画还是挺炫的呵呵

  image

  p.s 有点卡是因为只是模拟器,真机非常流畅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值