Android中的布局动画

简介

布局动画是给布局的动画,会影响到布局中子对象

使用方法

给布局添加动画效果:

先找到要设置的layout的id,然后创建布局动画,创建一个LayoutAnimationController,并把动画传给它,最后就可以设置这个布局的lac。

sa的duration是整个布局动画完成的时间,LAC的delay是指每一个子对象间的延迟时间。

        LinearLayout layout = (LinearLayout) findViewById(R.id.activity_main);
        ScaleAnimation sa = new ScaleAnimation(0, 1, 0, 1);
        sa.setDuration(350);
        LayoutAnimationController lac = new LayoutAnimationController(sa, 0.5f);
        layout.setLayoutAnimation(lac);

布局内容改变动画:

通过设置layout的animateLayoutChange属性,可以达到布局内容改变的时候产生动画效果。

给列表添加布局动画:

与给布局添加动画效果类似,只需要创建lac,并设置给list即可。

public class MainActivity extends ListActivity {   private ArrayAdapter<String> adapter;   private LayoutAnimationController lac;   private ScaleAnimation sa;   @Override   protected void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new String[]{"Hello", "world", "!"});      setListAdapter(adapter);      sa = new ScaleAnimation(0, 1, 0, 1);      sa.setDuration(1000);      lac = new LayoutAnimationController(sa, 0.5f);      getListView().setLayoutAnimation(lac);   }}

也可以通过xml给布局配置动画效果:

首先创建scale.xml:

<scale android:fromXScale="0"
       android:toXScale="1"
       android:toYScale="1"
       android:fromYScale="0"
       android:duration="3000"
       xmlns:android="http://schemas.android.com/apk/res/android">

</scale>

然后创建layoutAnimation:

<layoutAnimation android:animation="@anim/scale"
                 android:delay="0.5"
                 xmlns:android="http://schemas.android.com/apk/res/android">

</layoutAnimation>

最后可以在布局的组件中指定layoutAnimation:

<ListView
            android:id="@android:id/list"
            android:layoutAnimation="@anim/listview_anim"
            android:layout_width="match_parent"
            android:layout_height="match_parent"></ListView>
时间: 2024-10-13 17:25:05

Android中的布局动画的相关文章

Android中的帧动画的简单使用

Android中动画主要有下面几种,帧动画(frame),补间动画(tween),属性动画(property) 我们平时项目中主要用的是帧动画和补间动画 帧动画需要我们准备一组静态图片,这些图片是通过分解动画得来的,静态图片连起来播放形成动画效果 我们在res目录下新建一个drawable目录,用来存放动画资源和xml文件 图片如下: girl.xml 注意android:oneshot="false|true" 该属性控制动画是否重复播放,false代表重复播放 <?xml v

无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)

1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM 的比较 3.常见adb指令 platform-tools/adb.exe adb.exe : android debug bridge android调试桥 adb devices:列出所以连接的设备 adb kill-server :杀死adb调试桥 adb start-server :启动adb

android中九宫格布局与gridview

纵观现在的应用程序,九宫格是非常常见的一种布局方式.很多优秀的手机应用程序都采用了这一布局.下面就android中九宫格布局方式的实现和大家做一个简单的介绍. 首先在youxi.xml的布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" androi

android中设置Animation 动画效果

在 Android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame by frame animation 画面转换动画,接下来eoe进行讲解. tweened animation 渐变动画有以下两种类型: 1.alpha   渐变透明度动画效果 2.scale   渐变尺寸伸缩动画效果 frame by frame animation 画面转换动画有以下两种类型: 1.translate  画面转换位置

Android笔记(六) Android中的布局——线性布局

我们的软件是由好多个界面组成的,而每个界面又由N多个控件组成,Android中借助布局来让各个空间有条不紊的摆放在界面上. 可以把布局看作是一个可以放置很多控件的容器,它可以按照一定的规律调整控件的位置,从而实现精美的界面. 布局中也可以放置布局,通过多层布局的嵌套,实现比较复杂的界面. Android提供了四种基本布局:LinearLayout.RelativeLayout.FrameLayout.TableLayout LinearLayout: LinearLayout称为线性布局,正如其

Android ListView Animation 布局动画

AnimationSet set = new AnimationSet(false); Animation animation = new AlphaAnimation(0,1); //AlphaAnimation 控制渐变透明的动画效果 animation.setDuration(500); //动画时间毫秒数 set.addAnimation(animation); //加入动画集合 animation = new TranslateAnimation(1, 13, 10, 50); //S

在Android中显示GIF动画

gif图动画在android中还是比较常用的,比如像新浪微博中,有很多gif图片,而且展示非常好,所以我也想弄一个.经过我多方的搜索资料和整理,终于弄出来了,其实github上有很多开源的gif的展示代码,我下载过几个,但是都不是很理想,不是我完全想要的.所以有时候就得自己学会总结,把开源的东西整理成自己的,现在无聊,也正好有朋友需要,所以现在整理了一下,留着以后备用! 废话不多说,直接上图: 在这里主要用的是:android中的android.graphics.Movie 这个类,这是andr

Android中常用布局单位

Android在UI布局时经常用到一些单位,对单位混用直接会影响UI的显示,要想正确的在布局中使用每种单位就必须先真正的熟悉它. UI显示效果的影响因素:屏幕尺寸.屏幕密度.分辨率:而android手机种类又比较多,为了适应不同的设备,我们就要注意drawable和layout资源. 常用的单位有:px.dip(dp).sp,还要一些不常用的单位,如pt.in.mm. px:对应屏幕上的实际像素点: dip(dp):设备独立像素,一种基于屏幕密度的抽象单位,在每英寸160点得显示器上,1dip=

Android中五中布局文件的使用和介绍

Android的布局风格   布局应该从外往里写 1.LinearLayout(线性布局) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layo