1.知识图谱
(补间动画和帧动画)
1.补间动画的效果图:
(alpha透明度) (ratate旋转)
XML代码:
MainActivity.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.example.cookie.android0626animation.MainActivity"><!--alpha透明度--><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/eat1"android:id="@+id/iv_main_image"android:layout_marginTop="100dp"/><!--rotate旋转--><!--scale缩放--><!--translate移动--><HorizontalScrollViewandroid:layout_width="match_parent"android:layout_height="wrap_content"><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/bu_image_alpha"android:layout_weight="1"android:onClick="operation"android:text="alpha"/><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/bu_image_rotate"android:layout_weight="1"android:onClick="operation"android:text="rotate"/><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/bu_image_scale"android:layout_weight="1"android:onClick="operation"android:text="scale"/><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/bu_image_translate"android:layout_weight="1"android:onClick="operation"android:text="translate"/><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="all"android:onClick="operation"android:id="@+id/bu_image_all"/></LinearLayout></HorizontalScrollView></LinearLayout>
在Project里找到你写的现在写动画的项目,然后在res下新建一个anim文件夹,在该文件夹下新建所需动画效果的xml类
iv_alpha.xml代码
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"android:fromAlpha="1.0"android:toAlpha="0.3"android:duration="3000"android:fillAfter="true"></alpha>
iv_rotate.xml代码
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"android:fromDegrees="0"android:toDegrees="720"android:pivotX="50%"android:pivotY="50%"android:duration="3000"android:fillAfter="true"></rotate>
iv_scale.xml代码
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"android:fromXScale="100%"android:fromYScale="100%"android:toXScale="50%"android:toYScale="50%"android:pivotX="50%"android:pivotY="50%"android:duration="3000"android:fillAfter="true"></scale>
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"android:fromXDelta="0"android:fromYDelta="0"android:toXDelta="50%"android:toYDelta="50%"android:duration="3000"android:fillAfter="true"></translate>
iv_all.xml代码
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"android:duration="3000"android:fillAfter="true"><alphaandroid:fromAlpha="1.0"android:toAlpha="0.3"></alpha><rotateandroid:fromDegrees="0"android:toDegrees="360"android:pivotX="50%"android:pivotY="50%"></rotate><scaleandroid:fromXScale="100%"android:fromYScale="100%"android:toXScale="50%"android:toYScale="50%"android:pivotX="50%"android:pivotY="50%"></scale><translateandroid:fromXDelta="0"android:fromYDelta="0"android:toXDelta="50%"android:toYDelta="50%"></translate></set>
MainActivity.java代码:
package com.example.cookie.android0626animation;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;public class MainActivity extends AppCompatActivity {private ImageView iv_main_image;private Animation animation;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);iv_main_image = (ImageView) findViewById(R.id.iv_main_image);}public void operation(View view){switch (view.getId()) {case R.id.bu_image_alpha://加载动画animation = AnimationUtils.loadAnimation(this, R.anim.iv_alpha);//给图片开启动画效果iv_main_image.startAnimation(animation);break;case R.id.bu_image_rotate://加载动画animation=AnimationUtils.loadAnimation(this,R.anim.iv_rotate);//给图片开启动画效果iv_main_image.startAnimation(animation);break;case R.id.bu_image_scale:animation=AnimationUtils.loadAnimation(this,R.anim.iv_scale);//给图片开启动画效果iv_main_image.startAnimation(animation);break;case R.id.bu_image_translate://加载动画animation=AnimationUtils.loadAnimation(this,R.anim.iv_translate);//给图片开启动画效果iv_main_image.startAnimation(animation);break;case R.id.bu_image_all://加载动画animation=AnimationUtils.loadAnimation(this,R.anim.iv_all);//给图片开启动画效果iv_main_image.startAnimation(animation);break;}}}