码迷,mamicode.com
首页 > 其他好文 > 详细

通过xml文件来设置动画

时间:2014-09-20 21:56:29      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   color   io   os   使用   java   

alpha.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha 
        android:fromAlpha="1.0"
        android:toAlpha="0"
        android:startOffset="200"
        android:duration="1000"/>

</set>

 

rotate.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <rotate 
        android:fromDegrees="0"
        android:toDegrees="-360"
        android:pivotX="50%p"
        android:pivotY="50%"
        android:duration="1000"/>

</set>

 

scale.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:fromXScale="1.0"
        android:toXScale="0"
        android:fromYScale="1.0"
        android:toYScale="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:duration="1000"/>

</set>

 

translate.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate 
        android:fromXDelta="50%"
        android:toXDelta="100%"
        android:fromYDelta="50%"
        android:toYDelta="200%"
        android:duration="2000"/>

</set>

 

MainActivity.java

package com.kale.anim;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.AnimationUtils;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;

public class MainActivity extends Activity {

    ImageView iV;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        iV = (ImageView)findViewById(R.id.imageView);
    }
    

    

    public void buttonListener(View v) {
        Animation anim = null;
        switch (v.getId()) {
        case R.id.alpha_button:
            anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.alpha);
            break;
        case R.id.rotate_button:
            anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.rotate);
            break;
        case R.id.scale_button:
            anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.scale);
            break;
        case R.id.translate_button:
            anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.translate);
            break;
        default:
            break;
        }
    
        //设置开始动画
        iV.startAnimation(anim);
    }
}

 

通过工具类就能加载xml文件,这样就能使用xml文件了。最后贴上xml的界面文件。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="28dp"
        android:orientation="vertical" >

        <Button
            android:id="@+id/alpha_button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="buttonListener"
            android:text="透明度改变" />

        <Button
            android:id="@+id/rotate_button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="buttonListener"
            android:text="旋转动画" />

        <Button
            android:id="@+id/scale_button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="buttonListener"
            android:text="缩放动画" />

        <Button
            android:id="@+id/translate_button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="buttonListener"
            android:text="移动动画" />
    </LinearLayout>

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/linearLayout1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="56dp"
        android:src="@drawable/ic_launcher" />

</RelativeLayout>

 

关于动画速率设置。

bubuko.com,布布扣

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true">

……
</set>

 

example:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:shareInterpolator="true">
    <alpha 
        android:fromAlpha="1.0"
        android:toAlpha="0"
        android:startOffset="200"
        android:duration="1000"/>

</set>

 

代码中可以这样设置:

        AnimationSet set = new AnimationSet(true);
        set.setInterpolator(new DecelerateInterpolator());

 

通过xml文件来设置动画

标签:android   style   blog   http   color   io   os   使用   java   

原文地址:http://www.cnblogs.com/tianzhijiexian/p/3983616.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!