初学Android,使用Drawable资源之使用AnimationD

系统 2182 0

这次学学怎么使用动画资源,AnimationDrawable,同样要定义一个相关的xml动画文件,要放在路径/res/anmi下,当创建一个Android应用时,默认不会创建该文件夹,需要自己手动创建.

动画分为逐帧动画(像电影一样,一张一张的播放)和补间动画(平移,旋转,缩放,位移),

关于动画的内容还是有点多,这次我只学一点,就是怎么定义和使用动画资源

补间动画可以有4个动作

alpha: 设置透明度的改变

scale: 设置图片进行缩放改变

translate: 设置图片进行位移变换

rotate:设置图片进行旋转

下面以补间动画为例,根元素为<set .../>,在路径/res/anmi下定义一个动画文件my_anim.xml

 

    <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator">
    <!-- 缩放变换 -->
    <scale android:fromXScale="1.0"
        android:toXScale="1.4"
        android:fromYScale="1.0"
        android:toYScale="0.6"
        android:pivotX="50%"
        android:pivotY="50%"
        android:fillAfter="true"
        android:duration="2000" />
    <!-- 定义位移变换 -->
    <translate android:fromXDelta="10"
        android:toXDelta="130"
        android:fromYDelta="30"
        android:toYDelta = "-80"
        android:duration="2000" />
</set>
  

下面是主界面main.xml

 

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/fengjing" />

    <Button
        android:id="@+id/bn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>
  

在代码中调用动画资源

 

    package WangLi.Resource.AnimationDrawableTest;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;

public class AnimationDrawableTest extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final ImageView image = (ImageView)findViewById(R.id.image);
        final Animation anim = AnimationUtils.loadAnimation(this, R.anim.my_anim);
        //设置动画结束后保留结束状态
        anim.setFillAfter(true);
        Button bn = (Button)findViewById(R.id.bn);
        bn.setOnClickListener(new OnClickListener(){
        	public void onClick(View arg0)
        	{
        		image.startAnimation(anim);
        	}
        });
    }
}
  

动画开始前

初学Android,使用Drawable资源之使用AnimationDrawable资源(十七)

点击按钮,动画结束后,图片得到缩放,并且位移

初学Android,使用Drawable资源之使用AnimationDrawable资源(十七)

初学Android,使用Drawable资源之使用AnimationDrawable资源(十七)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论