文档章节

Android动画(Animations)

切切歆语
 切切歆语
发布于 2016/10/31 09:11
字数 542
阅读 7
收藏 0

动画类型
Android的animation由四种类型组成
 

XML中

alpha

渐变透明度动画效果

scale

渐变尺寸伸缩动画效果

translate

画面转换位置移动动画效果

rotate

画面转移旋转动画效果

Java代码中

AlphaAnimation

渐变透明度动画效果

ScaleAnimation

渐变尺寸伸缩动画效果

TranslateAnimation

画面转换位置移动动画效果

RotateAnimation

画面转移旋转动画效果

1、main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >



    <LinearLayout

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:orientation="horizontal" >

        <Button

            android:id="@+id/rotateButton"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="旋转" />

        <Button

            android:id="@+id/scaleButton"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="缩放" />

        <Button

            android:id="@+id/alphaButton"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="淡入淡出" />

        <Button

            android:id="@+id/translateButton"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="移动" />

    </LinearLayout>

    <LinearLayout

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:orientation="vertical" >

        <ImageView

            android:id="@+id/image"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_centerInParent="true"

            android:src="@drawable/an" />

</LinearLayout>

</LinearLayout>

2、.java文件

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.view.View.OnClickListener;

import android.view.animation.AlphaAnimation;

import android.view.animation.Animation;

importandroid.view.animation.AnimationSet;

importandroid.view.animation.RotateAnimation;

importandroid.view.animation.ScaleAnimation;

import android.view.animation.TranslateAnimation;

importandroid.widget.Button;

importandroid.widget.ImageView;

public class Animation1Activity extends Activity{

       private Button rotateButton = null;

       private Button scaleButton = null;

       private Button alphaButton = null;

       private Button translateButton = null;

       private ImageView mImageView = null;

       private Animation Alpha;

       private Animation Scale;

       private Animation Translate;

       private AnimationRotate;    

       @Override

    public void onCreate(BundlesavedInstanceState) {

        super.onCreate(savedInstanceState);

            setContentView(R.layout.main);

       

            rotateButton =(Button)findViewById(R.id.rotateButton);

            scaleButton =(Button)findViewById(R.id.scaleButton);

            alphaButton =(Button)findViewById(R.id.alphaButton);

            translateButton =(Button)findViewById(R.id.translateButton);

            mImageView = (ImageView)findViewById(R.id.image);

     

           rotateButton.setOnClickListener(newRotateButtonListener());

           scaleButton.setOnClickListener(newScaleButtonListener());

           alphaButton.setOnClickListener(newAlphaButtonListener());

           translateButton.setOnClickListener(

            new TranslateButtonListener());

       }

      class AlphaButtonListener implementsOnClickListener{

            public void onClick(Viewv) {

                        Alpha= animationUtils.loadAnimation(this,R.anim.alpha_action);

                        mImageView.startAnimation(Alpha);

                  }

         }

      class RotateButtonListener implementsOnClickListener{

              public void onClick(Viewv) {

        

                        Rotate = AnimationUtils.loadAnimation(this,R.anim.rotate_action);

                        mImageView.startAnimation(Rotate);

    }

      class ScaleButtonListener implementsOnClickListener{

              public void onClick(Viewv) {

                           Scale =AnimationUtils.loadAnimation(this,R.anim.scale_action);

                           mImageView.startAnimation(Scale);

    }

    class TranslateButtonListener implementsOnClickListener{

              public void onClick(Viewv) {

                             Translate =AnimationUtils.loadAnimation(this,R.anim.translate_action);

                             mImageView.startAnimation(Translate);      

           }

        }

}

1: alpha_action.xml

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

     <alpha

          android:fromAlpha="0.1"

          android:toAlpha="1.0"

          android:duration="3000"

        />     

</set>

2:rotate_action.xml

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

<rotate

        android:interpolator="@android:anim/accelerate_decelerate_interpolator"

        android:fromDegrees="0"

        android:toDegrees="+350"

        android:pivotX="50%"

        android:pivotY="50%"    

        android:duration="3000"/>

</set>

3: scale_action.xml

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

   <scale

          android:interpolator="@android:anim/accelerate_decelerate_interpolator"

          android:fromXScale="0.0"

          android:toXScale="1.4"

          android:fromYScale="0.0"

          android:toYScale="1.4"

          android:pivotX="50%"

          android:pivotY="50%"

          android:fillAfter="false"

          android:duration="700"/>

</set>

4: translate_action.xml 

<?xml version="1.0" encoding="utf-8"?>

 <set xmlns:android="http://schemas.android.com/apk/res/android">

 <translate

      android:fromXDelta="30"

      android:toXDelta="-80"

      android:fromYDelta="30"

      android:toYDelta="300"

      android:duration="2000"/>

</set>

下载地址

http://download.csdn.net/detail/dickyqie/9558580

 

 

© 著作权归作者所有

切切歆语
粉丝 22
博文 345
码字总数 235421
作品 0
杭州
程序员
私信 提问
andriod一个不错的启动菜单显示屏动画效果

看到一个老外做的不错的android启动菜单的动画效果,小结下。 1 首先在drawable目录下放一些动画要用的图片。 2 splash.xml: < LinearLayout xmlns:android="http://schemas.android.com/apk...

长平狐
2012/08/21
512
0
andriod一个不错的启动菜单显示屏动画效果

看到一个老外做的不错的android启动菜单的动画效果,小结下。 1 首先在drawable目录下放一些动画要用的图片。 2 splash.xml: < LinearLayout xmlns:android="http://schemas.android.com/apk...

长平狐
2012/08/14
231
0
andriod一个不错的启动菜单显示屏动画效果

看到一个老外做的不错的android启动菜单的动画效果,小结下。 1 首先在drawable目录下放一些动画要用的图片。 2 splash.xml: < LinearLayout xmlns:android="http://schemas.android.com/apk...

长平狐
2012/08/09
1K
0
Android Animations动画使用详解

一、动画类型 Android的animation由四种类型组成:alpha、scale、translate、rotate XML配置文件中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效...

长平狐
2013/01/06
77
0
【Animations】动画可绘制的图形(3)

原文 概要 在某些情况下,图像需要在屏幕上进行动画。如果您想要显示由多个图像组成的自定义加载动画,或者如果您希望一个图标在用户操作后变成另一个图标,这非常有用。Android为绘制动画提...

lichong951
2018/05/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Git ssh配置

生成密钥对 ssh-keygen -t rsa -C "email@email.com"邮箱替换自己邮箱在地址C:\Users\账户\.ssh下,id_rsa、id_rsa.pub两个文件复制文件id_rsa.pub内容到github\gitlab的Settings-> SSH ......

JUKE
29分钟前
5
0
014、使用docker-compose安装软件

创建docker-compose基础目录 mkdir -p /usr/local/docker 1、安装mysql 在/usr/local/docker/目录下创建mysql目录 mkdir -p /usr/local/docker/mysql 在/usr/local/docker/mysql目录编写doc......

北岩
29分钟前
6
0
【并发那些事 】创建线程的三种方式

创建线程可以说是并发知识中最基础的操作了,JDK 提供的创建线程的方式,如果不包括通过线程池的话,目前有三种形式,它们分别是通过继承 Thread 类,通过实现 Runable 接口,通过 FutureTa...

K1W1
35分钟前
7
0
判断链表是否有环

如果列表中不存在环,最终快指针将会最先到达尾部,此时我们可以返回 false。 如果存在环则会相遇。返回true。 Java代码实现: public boolean hasCycle(ListNode head) { if (head == ...

无名氏的程序员
36分钟前
5
0
uni-app 项目记录

await 等候,等待;期待 什么是async、await await 用于等待异步完成 通常async、await都是跟随Promise一起使用的 async返回的都是一个Promise对象同时async适用于任何类型的函数上。这样awa...

达达前端小酒馆
38分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部