近来由于做项目需要用到动画方面的东西,经过自己的推敲总结了下android使用方式大体有两种:一种是在java代码中使用(灵活多变),另一种是在布局xml文件中引入
java代码中使用方式:
先在res/anim/文件夹下定义动画文件:translaterain01.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:repeatCount="-1" android:fromXDelta="70" android:toXDelta="70"
android:fromYDelta="-50" android:toYDelta="250" android:duration="3000" />
</set>
java代码中使用:
ImageView rain01 = new ImageView(this);
Animation rain01Anim = AnimationUtils.loadAnimation(this,R.anim.translaterain01);
rain01.setAnimation(rain01Anim);
此时的rain01可以是任意的组件
布局xml文件中引入:
先在res/anim/文件夹下定义动画文件:slide_right.xml <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="-100%"
android:toXDelta="0"
android:duration="@android:integer/config_longAnimTime"/>
</set>
再在该文件夹下定义引入的xml文件slide_right_listview.xml:(此文件是作为在布局文件中引入动画的文件)
<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
android:delay="70%"
android:animationOrder="random"
android:animation="@anim/slide_right" />
然后在布局文件中引入:
<LinearLayout
android:id="@+id/llmiddle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layoutAnimation="@anim/slide_right_listview" 此处必需通过slide_right_listview引入动画,而不能直接引入动画文件slide_right.xml