android动画的透明度渐变、旋转动画、缩放动画、评议动画

原创 2015年07月10日 21:28:12

这是我在学习android的时候做的一个小小的东西可以实现图片的旋转、平移、缩放、透明度的渐变

首先我们要创建一个android的项目 

在自己的drawable-mdpi中添加自己的图片

然后在res目录中,创建一个名称是anim(动画)的目录,并且在该目录中实现图片的操作

首先是anim_alpha.xml定义一个实现透明渐变的动画该动画实现的是完全不透明——>完全透明————>完全不透明

<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<alpha android:fromAlpha="1"
	    android:toAlpha="0"
	    android:fillAfter="true"
	    android:repeatMode="reverse"
	    android:repeatCount="1"
	    android:duration="2000"/>
</set>


然后是创建anim_rotate.xml的文件,在该文件中定义一个实现旋转的动画,实现从零到720再从360到零的旋转

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

创建名称是anim_scale.xml的文件定义一个实现缩放的动画,该动画首先将原来的图像放大两倍再将其缩小到原来的尺寸;

<?xml version="1.0" encoding="utf-8"?>
<set  xmlns:android="http://schemas.android.com/apk/res/android">
	<scale android:fromXScale="1"
	    android:interpolator="@android:anim/decelerate_interpolator"
	    android:fromYScale="1"
	    android:toXScale="2.0"
	    android:toYScale="2.0"
	    android:pivotX="50%"
	    android:pivotY="50%"
	    android:fillAfter="true"
	    android:repeatCount="1"
	    android:repeatMode="reverse"
	    android:duration="2000"/>
</set>

创建名称是anim_translate.xml的文件实现图片的平移从左侧移动到右侧然后从右侧移动到左侧

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate 
    android:fromXDelta="0"
    android:toXDelta="860"
    android:fromYDelta="0"
    android:toYDelta="0"
    android:fillAfter="true"
    android:repeatMode="reverse"
    android:repeatCount="1"
    android:duration="2000">
</translate> 
</set>

这样   我们接下来就写main.XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
   
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="旋转" />
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="平移" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="缩放" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="透明度渐变" />        
    </LinearLayout>
	
    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="50px"
        android:src="@drawable/cat" />
</LinearLayout>

然后就是修改MainActivity.java

package com.mingrisoft;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		final Animation rotate=AnimationUtils.loadAnimation(this, R.anim.anim_rotate);	//获取“旋转”动画资源
		final Animation translate=AnimationUtils.loadAnimation(this, R.anim.anim_translate);	//获取“平移”动画资源
		final Animation scale=AnimationUtils.loadAnimation(this, R.anim.anim_scale);	//获取“缩放”动画资源
		final Animation alpha=AnimationUtils.loadAnimation(this, R.anim.anim_alpha);	//获取“透明度变化”动画资源
		final ImageView iv=(ImageView)findViewById(R.id.imageView1);	//获取要应用动画效果的ImageView
		Button button1=(Button)findViewById(R.id.button1);	//获取“旋转”按钮
		button1.setOnClickListener(new OnClickListener() {
			
			
			public void onClick(View v) {
				iv.startAnimation(rotate);		//播放“旋转”动画
				
			}
		});	
		Button button2=(Button)findViewById(R.id.button2);	//获取“平移”按钮
		button2.setOnClickListener(new OnClickListener() {
			
			
			public void onClick(View v) {
				iv.startAnimation(translate);	//播放“平移”动画
				
			}
		});
		Button button3=(Button)findViewById(R.id.button3);	//获取“缩放”按钮
		button3.setOnClickListener(new OnClickListener() {
			
			
			public void onClick(View v) {
				iv.startAnimation(scale);	//播放“缩放”动画
				
			}
		});		
		Button button4=(Button)findViewById(R.id.button4);	//获取“透明度渐变”按钮
		button4.setOnClickListener(new OnClickListener() {
			
			
			public void onClick(View v) {
				iv.startAnimation(alpha);	//播放“透明度渐变”动画
				
			}
		});			
	}
}

这样我们的小小的动画制作就完成了 



版权声明:本文为博主原创文章,未经博主允许不得转载。

安卓中为View添加动画效果(尺寸缩放、透明度渐变、旋转、移动)

安卓中为View添加动画效果(尺寸缩放、透明度渐变、旋转、移动)
  • scimence
  • scimence
  • 2015年10月29日 16:15
  • 2700

Android动画复习(包括缩放动画、平移动画、旋转动画、透明度动画)

现在是下午,我还在上班,工作都完成了,正在测试,突然感到很迷惘,工作一年了,仍然还是老样子,想到这些不由得倒吸一口冷汗。所以抓紧时间来看看我的博客,更新一下内容,有时候不逼自己一把,永远都不知道自己的...
  • qq_25193681
  • qq_25193681
  • 2016年06月28日 16:58
  • 1776

Android开场透明度渐变动画

mainfest.xml清单文件
  • qq_15267341
  • qq_15267341
  • 2016年11月30日 10:48
  • 444

关于android打开程序时的动画效果,旋转,缩放,渐变

效果很简单,先上图先 package viewpager.view.com.org.myviewpager; import android.app.Activity; import and...
  • lenovo_g410
  • lenovo_g410
  • 2016年11月02日 19:15
  • 1055

canvas旋转,缩放,位移动画

#canvas { -webkit-box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 4px; -moz-box-s...
  • hb707934728
  • hb707934728
  • 2017年04月14日 17:23
  • 1155

android图片透明度跟缩放大小动画事件

概序 : 动画事件写在xml中,然后用AnimationUtils去加载动画事件,再监听动画结束事件,隐藏imageview。 1. player_double_click_animation.x...
  • lowprofile_coding
  • lowprofile_coding
  • 2015年05月15日 09:48
  • 2463

Android Property Animation属性动画初识:透明渐变(1)

 Android Property Animation属性动画初识:透明渐变(1) Android Property Animation是Android从3.0以后引入的更为强大、完备和便捷的...
  • zhangphil
  • zhangphil
  • 2016年01月08日 17:09
  • 8537

Unity3D 几个基本动画(控制物体移动、旋转、缩放)

Transform基本移动函数: 1.指定方向移动: //移动速度 float TranslateSpeed = 10f; //Vector3.forward 表示“向前” transf...
  • sinat_24527911
  • sinat_24527911
  • 2016年11月08日 22:28
  • 3171

Android-alpha-渐变透明度 动画

XML 的定义方式  
  • zl18603543572
  • zl18603543572
  • 2015年10月15日 23:57
  • 1417

安卓的各种动画(透明度,平移,旋转,缩放)以及侦听

透明度动画: 第一种方式: AlphaAnimation aa = new AlphaAnimation(0, 1); aa.setDuration(1000); imageview....
  • Scorpio_gao
  • Scorpio_gao
  • 2016年06月17日 10:53
  • 1481
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android动画的透明度渐变、旋转动画、缩放动画、评议动画
举报原因:
原因补充:

(最多只允许输入30个字)