【Android】Layout Animation(布局动画)

作者:邹峰立,微博:zrunker,邮箱:[email protected],微信公众号:书客创作,个人平台:www.ibooker.cc。

本文选自书客创作平台第24篇文章。阅读原文 。

【Android】Layout Animation(布局动画)_第1张图片
书客创作

​Layout Animation布局动画,是用来设置ViewGroup的动画。

我们先来认识一个重要的类-LayoutTransition,该类是Android API提供的用于动画显示ViewGroup中的Layout的帮助类,我们可以使用该类设置动画并绑定目标Layout。那一般在什么情况下为Layout设置动画效果呢?比方说,如果我们需要对一个Layout实现动态地添加或删除子View对象,那么我们可以分别为需添加或删除的View对象在移动到新的位置的过程添加动画形式。一般地,Layout中的View对象有四种动画变化的形式,如下:

  1. APPEARING — 元素在容器中显现时需要动画显示。

  2. CHANGE_APPEARING — 由于容器中要显现一个新的元素,其它元素的变化需要动画显示。

  3. DISAPPEARING — 元素在容器中消失时需要动画显示。

  4. CHANGE_DISAPPEARING — 由于容器中某个元素要消失,其它元素的变化需要动画显示。

实例:实现ListView进入动画效果。

XML文件:


   <-- 缩放-->
   

   <--透明度-->
   

引入:

// 设置ListView
listView= (ListView) findViewById(R.id.listview);
ArrayList list =newArrayList<>();
for(inti =0;i <10;i++)
   list.add("IBook布局动画"+ i);

ArrayAdapter adapter =newArrayAdapter<>(this,android.R.layout.simple_list_item_1,list);
listView.setAdapter(adapter);
//布局动画控制器
LayoutAnimationController animationController =new LayoutAnimationController(AnimationUtils.loadAnimation(this,R.anim.move_in));
animationController.setOrder(LayoutAnimationController.ORDER_RANDOM);
listView.setLayoutAnimation(animationController);
listView.startLayoutAnimation();

GitHub地址
阅读原文


【Android】Layout Animation(布局动画)_第2张图片
微信公众号:书客创作

你可能感兴趣的:(【Android】Layout Animation(布局动画))