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. C# ITextSharp pdf 自动打印

    PDF生成后直接进入打印预览不用下载 using iTextSharp.text; using iTextSharp.text.pdf; Document pdfDoc = new Document( ...

  2. kafka相关应用

    一.kafka官网地址 http://kafka.apache.org 下载地址: http://kafka.apache.org/downloads.html 二.版本 0.9.0.1 is the ...

  3. Python Set集合,函数,深入拷贝,浅入拷贝,文件处理

    1.Set基本数据类型 a.set集合,是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set o ...

  4. 关于Django模板渲染一个很重要的用途

    一般情况下我们在模板利用django的for标签循环生成html代码时,可以同时生成形如: "{% url 'dormitory:hygiene_detail' pk={{ id }} %} ...

  5. linux运维基础__争取十月前研究的差不多

    转来的一编,考虑在十月前研究的差不多 linux运维人员基础 1.很多地方经常会用到的rsync工具 实施几台服务器的同步效果 我们公司就是使用这个工具完成服务器的游戏的服务端和客户端同步,有几个文章 ...

  6. DataTables在回调方法中使用api

    $(document).ready(function() { $('#example').dataTable( { "initComplete": function () { va ...

  7. PHP CI框架下,如果配置NGINX(根目录和子目录两种模式)

    摸索了一会儿,先配置成功,再看看PATH_INFO之类的东东吧. A,根目录: location ~ \.php($|/) { root html; fastcgi_pass ; fastcgi_in ...

  8. 浅谈 qmake 之 shadow build(将源码路径和构建路径分开,一套源码要分别用msvc2008、msvc2008、mingw分别编译又不互相干扰)

    shadow build shadow build 是什么东西?就是将源码路径和构建路径分开(也就是生成的makefile文件和其他产物都不放到源码路径),以此来保证源码路径的清洁. 这不是qmake ...

  9. 利用智能手机(Android)追踪一块磁铁(三)

    更新磁铁追踪算法的源代码,Android Studio项目工程 github地址:https://github.com/amazingyyc/MagnetLocate 说明:将磁铁的位置信息封装成消息 ...

  10. UVa1587.Digit Counting

    题目连接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=247&p ...