`
AaronGo
  • 浏览: 28838 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
阅读更多
public class MainActivity extends Activity {

	private ImageView image;
	private Button alpha_btn, rotate_btn, scale_btn, translate_btn;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		image = (ImageView)findViewById(R.id.image);
		alpha_btn = (Button)findViewById(R.id.alpha);
		rotate_btn = (Button)findViewById(R.id.rotate);
		scale_btn = (Button)findViewById(R.id.scale);
		translate_btn = (Button)findViewById(R.id.translate);
		
		alpha_btn.setOnClickListener(new OnClickListener() {
			
			public void onClick(View v) {
				//1.创建一个AnimationSet对象
				AnimationSet animationSet = new AnimationSet(true);
				//2.创建一个AlphaAnimation对象,Alpha透明度渐变,全不透到全透的渐变
				AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);
				//3.为AlphaAnimation设置相应的数据
				alphaAnimation.setDuration(5000);
				//4.将AlphaAnimation添加到AnimationSet对象中
				animationSet.addAnimation(alphaAnimation);
				//5.执行动画
				image.startAnimation(animationSet);
			}
		});
		
		rotate_btn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				AnimationSet animationSet = new AnimationSet(true);
				//以image的左上角为旋转轴点
				//RotateAnimation rotate = new RotateAnimation(0, 360);
				/*绝对像素,相对于view的左上角
				RotateAnimation rotate = new RotateAnimation(0, 360,
						Animation.ABSOLUTE, 150, 
						Animation.ABSOLUTE, 150);
				*/
				/*相对于view自身
				RotateAnimation rotate = new RotateAnimation(0, 360,
						Animation.RELATIVE_TO_SELF, 0.5f, 
						Animation.RELATIVE_TO_SELF, 0.5f);
				*/
				RotateAnimation rotate = new RotateAnimation(0, 360,
						Animation.RELATIVE_TO_PARENT, 0.5f, 
						Animation.RELATIVE_TO_PARENT, 0.5f);
				
				rotate.setDuration(5000);
				animationSet.addAnimation(rotate);
				image.startAnimation(rotate);
			}
		});
		
		
		scale_btn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				AnimationSet animationSet = new AnimationSet(true);
				ScaleAnimation scale = new ScaleAnimation(
						0.1f, 1f, 0.1f, 1f, //x,y缩放比例
						Animation.RELATIVE_TO_SELF, 0.5f,//缩放中心点 
						Animation.RELATIVE_TO_SELF, 0.5f);
				scale.setDuration(3000);
				animationSet.addAnimation(scale);
				image.startAnimation(animationSet);
			}
		});
		
		translate_btn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				AnimationSet animationSet = new AnimationSet(true);
				TranslateAnimation translate = new TranslateAnimation(
						Animation.RELATIVE_TO_SELF, 1f,//起始移动的x
						Animation.RELATIVE_TO_SELF, 0f,//起始移动的y
						Animation.RELATIVE_TO_SELF, 0.5f,//移动终点x
						Animation.RELATIVE_TO_SELF, 0f);//移动终点y
				translate.setDuration(3000);
				animationSet.addAnimation(translate);
				image.startAnimation(animationSet);
			}
		});
	}

}

 

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
	<ImageView 
	    android:id="@+id/image"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_centerInParent="true"
	    android:src="@drawable/teas"/>
	
	
	<Button 
	    android:id="@+id/alpha"
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:layout_marginTop="0dp"
	    android:text="Alpha"/>
	
	<Button 
	    android:id="@+id/rotate"
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:layout_below="@id/alpha"
	    android:layout_marginTop="20dp"
	    android:text="rotate"/>
	
	<Button 
	    android:id="@+id/scale"
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:layout_alignParentBottom="true"
	    android:text="scale"/>
	
	<Button 
	    android:id="@+id/translate"
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:layout_above="@id/scale"
	    android:layout_marginBottom="20dp"
	    android:text="translate"/>
    
    
</RelativeLayout>

 

 

分享到:
评论

相关推荐

    Android之Animation<2>

    这篇博客"Android之Animation&lt;2&gt;"可能详细探讨了Android动画系统的一些高级话题,包括自定义动画、帧动画以及属性动画等。由于没有提供具体的内容摘要,我将根据常见的Android动画知识点进行详细的解释。 首先,...

    Android View Animations

    &lt;groupId&gt;com.daimajia.androidanimation&lt;/groupId&gt; &lt;artifactId&gt;library&lt;/artifactId&gt; &lt;version&gt;1.1.3&lt;/version&gt; &lt;type&gt;apklib&lt;/type&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;com.daimajia.easing&lt;/groupId&gt; ...

    unity5圣典中文API手册v0.02.chm

    AndroidInput &lt;=&gt; 安卓输入 AndroidJavaClass &lt;=&gt; 安卓Java类 AndroidJavaObject &lt;=&gt; 安卓Java对象 AndroidJavaProxy &lt;=&gt; 安卓Java代理 AndroidJNI &lt;=&gt; 安卓本地编程接口 AndroidJNIHelper &lt;=&gt; 安卓本地接口...

    Android动画AndroidViewAnimations.zip

     &lt;groupId&gt;com.daimajia.androidanimation&lt;/groupId&gt;  &lt;artifactId&gt;library&lt;/artifactId&gt;  &lt;version&gt;1.1.3&lt;/version&gt;  &lt;type&gt;apklib&lt;/type&gt; &lt;/dependency&gt; &lt;dependency&gt;  &lt;groupId&gt;com.daimajia.easing&lt;/...

    Android、教程<经典> 15 2D动画

    1. `Animation`:这是所有动画的基础类,定义了动画的基本行为,如持续时间、重复次数等。 2. `TranslateAnimation`:用于实现对象的平移动画。 3. `ScaleAnimation`:实现对象的缩放动画。 4. `RotateAnimation`:...

    Android中使用Shape自定义形状

    - **线**:使用`&lt;line&gt;`标签,指定`android:x1`、`android:y1`为起点,`android:x2`、`android:y2`为终点。 - **多边形**:使用`&lt;polygon&gt;`,通过`android:points`属性定义顶点坐标,例如`"0,0 100,0 50,100"`。 ...

    android_animation

    在Android平台上,动画是提升用户体验的关键元素之一,尤其是在视图(View)操作中。"android_animation"这个主题主要聚焦于Android中的View动画,这包括了转换动画(Translation Animation)、缩放动画(Scale ...

    Animation_Frame_Android_XML

    每个`&lt;item&gt;`代表动画中的一个静态图像,需要指定`android:drawable`为对应的图片资源ID(如`@drawable/frame1`),以及`android:duration`为该帧显示的时间(以毫秒为单位)。 ```xml &lt;item android:drawable="@...

    Android样式的编写

    `&lt;shape&gt;`是Android中最基本的图形定义方式之一,它可以用于创建复杂的背景效果。通常情况下,`&lt;shape&gt;`定义的XML文件会被放置在项目的`drawable`目录下,而不是`drawable-hdpi`等目录。`&lt;shape&gt;`支持定义多种类型的...

    Android圆形向外扩散颜色渐浅动画

    在Android中,我们可以使用`&lt;alpha&gt;`、`&lt;scale&gt;`、`&lt;translate&gt;`和`&lt;rotate&gt;`标签来定义动画。对于“圆形向外扩散”,我们可能需要用到`&lt;scale&gt;`标签来扩大圆形的大小,并结合`&lt;alpha&gt;`标签改变其透明度。 2. **XML...

    Android Animation Demo合集

    在Android中,可以使用`&lt;animation-list&gt;`标签在XML资源文件中定义帧动画,并通过`AnimationDrawable`类进行控制。例如,一个简单的按钮点击效果可能就是帧动画的应用。 2. **补间动画(Tween Animation)**:补间...

    Androidanimation.doc

    `&lt;set&gt;`标签用于组合多个动画,而每个动画类型如`&lt;alpha&gt;`、`&lt;scale&gt;`等都有对应的属性来配置动画效果。 Frame-by-Frame Animation 适用于需要精确控制每一帧显示情况的动画,比如播放一系列连续的图像来形成动画...

    Android动画

    本主题聚焦于Android自定义动画,特别是如何通过组合`&lt;scale&gt;`和`&lt;translate&gt;`基本动画来创建一个动态的雪花飘落效果。我们将深入探讨这两个动画类型以及如何将它们整合到一起。 首先,让我们了解`&lt;scale&gt;`动画。`...

    XML_android基本动画

    &lt;item android:drawable="@drawable/frame1" android:duration="100" /&gt; &lt;item android:drawable="@drawable/frame2" android:duration="100" /&gt; &lt;item android:drawable="@drawable/frame3" android:duration=...

    Android中的Animation的使用

    &lt;item android:drawable="@drawable/frame1" android:duration="100" /&gt; &lt;item android:drawable="@drawable/frame2" android:duration="100" /&gt; &lt;!-- 更多帧 --&gt; &lt;/animation-list&gt; ``` 然后在代码中加载并启动...

    Android XML attribute

    为了帮助开发者更好地理解Android中的各种XML属性及其用途,本文将详细介绍部分核心XML元素及其属性,包括但不限于`&lt;animated-rotate&gt;`、`&lt;animation-list&gt;`、`&lt;bitmap&gt;`等。 #### `&lt;animated-rotate&gt;`: 动态旋转...

    转载:Andorid小項目之--Animation四種動畫的圖片效果(附源碼)

    这篇博客文章“Android小项目之--Animation四种动画的图片效果(附源码)”详细讲解了如何在Android平台上实现四种不同的动画效果,包括平移动画、旋转动画、缩放动画以及淡入淡出动画。通过这些动画,开发者可以...

    Frame Animation 帧动画Demo

    &lt;item android:drawable="@drawable/frame1" android:duration="100"/&gt; &lt;item android:drawable="@drawable/frame2" android:duration="100"/&gt; &lt;item android:drawable="@drawable/frame3" android:duration="100...

    Android Animation学习笔记

    在XML中,可以通过`&lt;animation-list&gt;`标签定义一个帧动画,或者使用`&lt;translate&gt;`, `&lt;scale&gt;`, `&lt;rotate&gt;`, 和 `&lt;alpha&gt;`等标签创建平移、缩放、旋转和透明度变化的效果。同时,`AnimationUtils`和`...

Global site tag (gtag.js) - Google Analytics