Animations(通过XML 文件控制)-- MarsChen Android 开发教程笔记

来源:互联网 发布:stata mac 编辑:程序博客网 时间:2024/06/15 12:31


1、在res 文件夹下创建一个名为anim 的文件夹



2、创建xml 文件,并首先加入set 标签,改标签
3、在标签当中加入rotate、alpha、scale、translate 标签,一个XML 文件加入一种标签。



android:pivotX 的值共有三种设置方法:
android:pivotX="50" 使用绝对定位;
android:pivotX="50%" 这种方法相对于控件本身定位;

android:pivotX="50%p" 这种方法性对于空间的父控件定位;

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

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"    android:interpolator="@android:anim/accelerate_interpolator">    <rotate         android:fromDegrees="0"        android:toDegrees="+359"        android:pivotX="50%"        android:pivotY="50%"        android:duration="3000"/></set>

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"    android:interpolator="@android:anim/accelerate_interpolator">    <scale        android:fromXScale="1.0"        android:toXScale="0.1"        android:fromYScale="0.1"        android:toYScale="1.0"        android:pivotX="30%"        android:pivotY="60%"        android:duration="5000"        ></scale></set>

<?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="50%"        android:toXDelta="100%"        android:fromYDelta="0%"        android:toYDelta="40%"        android:duration="5000"/></set>


4、在代码当中调用AnimationUtils 的loadAnimtion 方法产生Animation 对象装载动画文件。并启动。

以AlphaAnimation 为例:

class AlphaButtonListener implements OnClickListener{@Overridepublic void onClick(View v) {Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.alpha);imageView.startAnimation(animation);//注意这里不再是setAnimation,而是startAnimation。}        }


0 0
原创粉丝点击