首先需要先介绍下LayoutAnimationController:

* 1.LayoutAnimationController用于为一个layout里面的控件,或者是一个ViewGroup
 * 里面的控件设置动画效果(即整个布局)
 * 2.每一个控件都有相同的动画效果
 * 3.这些控件的动画效果在不同的实现显示出来
 * 4.LayoutAnimationController可以在xml文件当中设置,也可以在代码中进行设置

本文就针对两种实现LayoutAnimationController的方法分别进行介绍:

一,在XML文件中实现

步骤如下图所示:


 
 下面以一个实例来说明实现的方法:

实现的例子是点击“测试”按钮,有动画形式的view展现出来,截图如下:

具体的实现过程如下:

需要两个动画xml文件:

1.list_item_layout

<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"  android:animation="@anim/list_item_alpha"  android:animationOrder="normal"  android:delay="0.8" />  

2.list_item_alpha

<set xmlns:android="http://schemas.android.com/apk/res/android">    <alpha    android:fromAlpha="0.0"    android:toAlpha="1.0"    android:duration="2000"    />
</set>  

3.需要在listview中添加如下的说明:

android:layoutAnimation="@anim/list_item_layout"

具体的实现代码如下:

public class LayoutAnimation_Activity extends Activity {private Button button;private Button button2;private ListView listView;private static final String[] STRINGS={"BruceZhang","Alhpa","Translate","Blanklin","Rotate","GreenFrank"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_layout_animation_);button=(Button)findViewById(R.id.button);button2=(Button)findViewById(R.id.button2);listView=(ListView)findViewById(R.id.listview);final ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, R.layout.item_list, STRINGS);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stublistView.setAdapter(adapter); }});button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stublistView.setAdapter(null);   }});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_layout_animation_, menu);return true;}}

二,在java代码中实现LayoutAnimationController

实现的步骤如下图:

在本例中用到的代码如下:

     Animation animation=AnimationUtils.loadAnimation(LayoutAnimation_Activity.this, R.anim.list_item_alpha);LayoutAnimationController laController=new LayoutAnimationController(animation);laController.setOrder(LayoutAnimationController.ORDER_NORMAL);listView.setLayoutAnimation(laController);

Android开发--图形图像与动画(五)--详解LayoutAnimationController相关推荐

  1. Android开发--图形图像与动画(三)--Animation效果的XML实现

    使用XML来定义Tween Animation 动画的XML文件在工程中res/anim目录,这个文件必须包含一个根元素,可以使<alpha><scale> <trans ...

  2. Android开发--图形图像与动画(二)--Animation实现图像的 渐变、缩放、位移、旋转

    Android 平台提供了两类动画. 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转.平移.放缩和渐变). 下面就讲一下Tweene Animations. 主要类: ...

  3. Android开发--图形图像与动画(二)--Animation实现图像的 渐变 缩放 位移 旋转

    Android 平台提供了两类动画. 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转.平移.放缩和渐变). 下面就讲一下Tweene Animations. 主要类: ...

  4. Android开发--图形图像与动画(四)--AnimationListener简介

    就像Button控件有监听器一样,动画效果也有监听器,只需要实现AnimationListener就可以实现对动画效果的监听,其中需要重载三个函数,就是下面的这几个函数: private class ...

  5. Android开发--图形图像与动画(一)--Paint和Canvas类

    * Paint类  * Paint类代表画笔,用来描述图形的颜色和风格,如线宽,颜色,透明度和填充效果等信息.  * 使用Paint类时,需要先创建该类的对象,可以通过该类的构造函数实现.通常情况的实 ...

  6. 【Android开发】greenrobot三大开源利器详解(一)——EventBus

    一.greenrobot介绍 greenrobot相关信息较少,可以确信是一个开源组织.官网:http://greenrobot.org/. greenrobot主要开发并维护了3个Android开源 ...

  7. android 网络编程实现,Android开发使用HttpURLConnection进行网络编程详解【附源码下载】...

    本文实例讲述了Android开发使用HttpURLConnection进行网络编程.分享给大家供大家参考,具体如下: --HttpURLConnection URLConnection已经可以非常方便 ...

  8. android编程xml动画,Android中xml设置Animation动画效果详解

    在Android中,Animation动画效果的实现可以通过两种方式进行实现,一种是tweened animation渐变动画,另一种是frame by frame animation画面转换动画. ...

  9. android设置高度比例,android开发layout按比例布局(详解)

    释放双眼,带上耳机,听听看~! 由于Android的复杂性,在写程序的时候经常会遇见一些难题,也可能会遇见处理不了的问题,下面是技术狗小编详解android layout 按比例布局的代码,一起进入下 ...

最新文章

  1. 【NOIP校内模拟】塔
  2. JAVA8后接口的新特性
  3. 如何打造自己强大的气场?
  4. swf到html5转换器,iPixSoft SWF to HTML5 Converter(SWF到HTML5转换器) V3.6.0 官方版[安全工具]...
  5. android 列表上拉加载更多,Android 下拉刷新,上拉加载更多控件–支持ListView,GridView和ScrollView...
  6. Mac如何修复“无法卸载磁盘”错误
  7. geatpy - 遗传和进化算法相关算子的库函数(python)
  8. html和css设计网页实例,经典网页设计:30个创意的 CSS 应用案例
  9. Windows常用运行库合集--官网(VC++、DirectX、.NET)
  10. 思科路由器OSPF配置实例
  11. 2022五一数学建模有何思路模型?
  12. 设计模式--创建型设计模式
  13. 运放的参数详解及应用电路
  14. Matlab的基本使用方法
  15. 用友U8+ V16.0 V15.1 V15.0 V13.0 V12.5 12.1 12.0 11.1 11.0注册
  16. 年份必须是4位数 C语言,输入年份(四位数),判断是否是闰年 C语言编程
  17. 怎么选择合适的PLM系统
  18. Edsger Wybe Dijkstra
  19. 2023年,IT互联网还有发展前景吗?
  20. 如何配置虚拟机桥接网络

热门文章

  1. 2017-2018-1 20155222 《信息安全系统设计基础》第8周学习总结
  2. LuManager 高危SQL注入0day分析
  3. 在浏览器中输入URL按下回车键后发生了什么
  4. 翻译-Salt与Ansible全方位比较
  5. Newtonsoft.Json高级用法
  6. oracle空间管理
  7. asp.net弹出div层,并把弹出层上的值赋值给界面
  8. lighttpd配置支持https
  9. 关于nginx rewrtie的四种flag
  10. Windows 10如何启用ReFS弹性文件系统