您的位置:首页 > 其它

安卓之动画制作

2017-07-09 16:16 183 查看
1.知识图谱

(补间动画和帧动画)






1.补间动画的效果图:

(alpha透明度)                                                                                     (ratate旋转)




XML代码:

MainActivity.xml代码:

[html] view
plain copy

<?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代码



[html] view
plain copy

<?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代码



[html] view
plain copy

<?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代码



[html] view
plain copy

<?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>  


iv_translate.xml代码

[html] view
plain copy

<?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代码

[html] view
plain copy

<?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代码:

[html] view
plain copy

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;  

        }  

    }  

  

  

  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: