首页 > 代码库 > 通过xml文件来设置动画
通过xml文件来设置动画
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>
关于动画速率设置。
<?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文件来设置动画
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。