activity代码如下:

package com.example.chapter12_graphic_animation;

import android.os.Bundle;

import android.app.Activity;

import android.content.res.Resources;

import android.graphics.drawable.Drawable;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.animation.AlphaAnimation;

import android.view.animation.Animation;

import android.view.animation.RotateAnimation;

import android.view.animation.ScaleAnimation;

import android.view.animation.TranslateAnimation;

import android.widget.Button;

import android.widget.ImageView;

public class MainActivity extends Activity {

private Button b1,b2,b3,b4;

private ImageView girlImage;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Resources res = getResources();

Drawable drawable = res.getDrawable(R.drawable.test);

this.getWindow().setBackgroundDrawable(drawable);

setContentView(R.layout.main);

girlImage=(ImageView)findViewById(R.id.ImageView01);

b1=(Button)findViewById(R.id.Button01);

b2=(Button)findViewById(R.id.Button02);

b3=(Button)findViewById(R.id.Button03);

b4=(Button)findViewById(R.id.Button04);

b1.setOnClickListener(new OnClickListener(){

public void onClick(View arg0) {

//创建Scale尺寸变化动画

Animation scaleAnimation =new ScaleAnimation(0f,1f,0f,1f,

Animation.RELATIVE_TO_SELF,0.5f,

Animation.RELATIVE_TO_SELF,0.5f);

//设置动画持续的时常

scaleAnimation.setDuration(3000);

//开始动画

girlImage.startAnimation(scaleAnimation);

}

});

b2.setOnClickListener(new OnClickListener(){

public void onClick(View arg0) {

//创建Scale尺寸变化动画

Animation alphaAnimation =new AlphaAnimation(0.1f,1.0f);

//设置动画持续的时常

alphaAnimation.setDuration(3000);

//开始动画

girlImage.startAnimation(alphaAnimation);

}

});

b3.setOnClickListener(new OnClickListener(){

public void onClick(View arg0) {

//创建Scale尺寸变化动画

Animation translateAnimation =new TranslateAnimation(10,100,10,100);

//设置动画持续的时常

translateAnimation.setDuration(3000);

//开始动画

girlImage.startAnimation(translateAnimation);

}

});

b4.setOnClickListener(new OnClickListener(){

public void onClick(View arg0) {

//创建Scale尺寸变化动画

Animation rotateAnimation =new RotateAnimation(0f,+360f,

Animation.RELATIVE_TO_SELF,0.5f,

Animation.RELATIVE_TO_SELF,0.5f);

//设置动画持续的时常

rotateAnimation.setDuration(3000);

//开始动画

girlImage.startAnimation(rotateAnimation);

}

});

}

//为按钮添加监听事件

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}

XML代码设置如下:

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

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

xmlns:tools="http://schemas.android.com/tools"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<Button

android:id="@+id/Button01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Test Scale.." />

<Button

android:id="@+id/Button02"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Test Alpha..." />

<Button

android:id="@+id/Button03"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Test Translate..." />

<Button

android:id="@+id/Button04"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Test Rotate..." />

<ImageView

android:id="@+id/ImageView01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

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

</LinearLayout>

android设置图片变化的四种效果代码的更多相关文章

  1. Android开发_Android数据的四种存储方式

    Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File.由于Android系统中,数据基本都是私有的的,都是存放 ...

  2. Android异步更新UI的四种方式

    Android异步更新UI的四种方式 2015-09-06 09:23 segmentfault 字号:T | T 大家都知道由于性能要求,android要求只能在UI线程中更新UI,要想在其他线程中 ...

  3. 转--Android按钮单击事件的四种常用写法总结

    这篇文章主要介绍了Android按钮单击事件的四种常用写法总结,比较了常见的四种写法的优劣,有不错的参考借鉴价值,需要的朋友可以参考下     很多学习Android程序设计的人都会发现每个人对代码的 ...

  4. 详解Android开发中Activity的四种launchMode

    Activity栈主要用于管理Activity的切换.当使用Intent跳转至某个目标Activity,需要根据目标Activity的加载模式来加载. Activity一共有以下四种launchMod ...

  5. android点击事件的四种方式

    android点击事件的四种方式 第一种方式:创建内部类实现点击事件 代码如下: package com.example.dail; import android.text.TextUtils; im ...

  6. Android按钮单击事件的四种常用写法

    这篇文章主要介绍了Android按钮单击事件的四种常用写法总结,比较了常见的四种写法的优劣,有不错的参考借鉴价值,需要的朋友可以参考下 很多学习Android程序设计的人都会发现每个人对代码的写法都有 ...

  7. Android(java)学习笔记106:Android设置文本颜色的4种方法

    1. Android设置文本颜色的4种方法: (1)利用系统自带的颜色类: tv.setTextColor(android.graphics.Color.RED); (2)数字颜色表示: tv.set ...

  8. Android中点击事件的四种写法详解

    Android中点击事件的四种写法 使用内部类实现点击事件 使用匿名内部类实现点击事件 让MainActivity实现View.OnClickListener接口 通过布局文件中控件的属性 第一种方法 ...

  9. Android跨进程通信的四种方式

    由于android系统中应用程序之间不能共享内存.因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些.在android SDK中提供了4种用于跨进程通讯的方式.这4种方式正好对应于andro ...

随机推荐

  1. 在Win8.1(64位)系统上安装Scrapy(python 2.7.7)

    为了在win8.1上安装scrapy折腾了好久,最终安装成功,总结步骤如下: 下载安装Visual C++ 2008 redistributables 安装lxml-3.2.4.win-amd64-p ...

  2. 翻译Oracle文档--SYSDBA和SYSOPER系统权限

    SYSDBA和SYSOPER是管理权限,被用户来执行高级管理操作例如:创建 开启/关闭 备份/恢复 数据库.SYSDBA系统权限是针对想给予完全授权的数据库管理员SYSOPER系统权限允许一个用户执行 ...

  3. a:hover和a:visited书写顺序的重要性

    2a:hover和a:visited书写顺序的重要性今天在用a:hover属性的时候发现一个奇怪的问题,同一个页面里面有些链接的a:hover效果不能正常表现出来.链接的代码是一样,没有使用其它样式固 ...

  4. 新版TeamTalk部署教程(蓝狐)

    http://www.bluefoxah.org/teamtalk/new_tt_deploy.html

  5. smartassembly 使用指南

    原文 http://www.cnblogs.com/hsapphire/archive/2010/09/21/1832758.html smartassembly 提供了一种用于优化和混淆你的 .ne ...

  6. spring框架源码编译

    程序猿小菜一枚,最近从github上面下载下来一份spring各个项目的源码一份,但是弄了很长时间,因为网速和(fanqiang)的速度,希望大家不要再为这种无谓的时间花费时间,简单来说github上 ...

  7. Paint House 解答

    Question There are a row of n houses, each house can be painted with one of the three colors: red, b ...

  8. OpenStackCLI调试及术语识记

    1,Project are organizational units in the cloud,and are also known as tenants or accounts.Each user ...

  9. 【shell】构造并遍历二位数组的一种用法

    参考shell数组的部分操作用法,实现了构造和遍历二维数组的一种方式,具体如下: #数组元素以空格分割 sites=("www.a.com www.b.com www.c.com www.d ...

  10. 04747_Java语言程序设计(一)_第9章_输入和输出流

    例9.1一个文件复制应用程序,将某个文件的内容全部复制到另一个文件. import java.io.*; public class Example9_1 { public static void ma ...