1.知识图谱
(补间动画和帧动画)
1.补间动画的效果图:
(alpha透明度) (ratate旋转)
XML代码:
MainActivity.xml代码:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout
- xmlns: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透明度-->
- <ImageView
- android: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移动-->
- <HorizontalScrollView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- >
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <Button
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:id="@+id/bu_image_alpha"
- android:layout_weight="1"
- android:onClick="operation"
- android:text="alpha"/>
- <Button
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:id="@+id/bu_image_rotate"
- android:layout_weight="1"
- android:onClick="operation"
- android:text="rotate"/>
- <Button
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:id="@+id/bu_image_scale"
- android:layout_weight="1"
- android:onClick="operation"
- android:text="scale"/>
- <Button
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:id="@+id/bu_image_translate"
- android:layout_weight="1"
- android:onClick="operation"
- android:text="translate"/>
- <Button
- android: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">
- <alpha
- android:fromAlpha="1.0"
- android:toAlpha="0.3"
- ></alpha>
- <rotate
- android:fromDegrees="0"
- android:toDegrees="360"
- android:pivotX="50%"
- android:pivotY="50%"
- ></rotate>
- <scale
- android:fromXScale="100%"
- android:fromYScale="100%"
- android:toXScale="50%"
- android:toYScale="50%"
- android:pivotX="50%"
- android:pivotY="50%"
- ></scale>
- <translate
- android: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;
- @Override
- protected 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;
- }
- }
- }