2012年2月29日星期三

Android开发_Animation

新建项目:

http://www.cnblogs.com/hongten/gallery/image/112163.html

项目结构:

http://www.cnblogs.com/hongten/gallery/image/112162.html

p1.png是自己添加进去的,当然也可以使用其他图片

main.

 1 <? 2 <RelativeLayout  3     android:id="@+id/layoutId"
4 android:orientation="vertical"
5 android:layout_width="fill_parent"
6 android:layout_height="fill_parent"
7 >
8 <LinearLayout 9 android:layout_width="fill_parent"
10 android:layout_height="fill_parent"
11 >
12 <!-- 添加图片 -->
13 <Button
14 android:id="@+id/btn_add"
15 android:layout_width="wrap_content"
16 android:layout_height="wrap_content"
17 android:text="添加图片"
18 />
19 <!-- 删除图片 -->
20 <Button
21 android:id="@+id/btn_delete"
22 android:layout_width="wrap_content"
23 android:layout_height="wrap_content"
24 android:text="删除图片"
25 />
26 </LinearLayout>
27 <!-- 显示图片 -->
28 <ImageView
29 android:id="@+id/iv_image"
30 android:layout_width="wrap_content"
31 android:layout_height="wrap_content"
32 android:layout_centerInParent="true"
33 android:layout_marginTop="120dip"
34 android:layout_marginLeft="50dip"
35 android:src="@drawable/p1"
36 />
37 </RelativeLayout>

Main.java

 1 package com.b510;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.util.Log;
6 import android.view.View;
7 import android.view.ViewGroup;
8 import android.view.View.OnClickListener;
9 import android.view.animation.AlphaAnimation;
10 import android.view.animation.Animation;
11 import android.view.animation.Animation.AnimationListener;
12 import android.widget.Button;
13 import android.widget.ImageView;
14
15 public class Main extends Activity {
16 private static final String TAG="Main";
17 /** 添加图片 */
18 private Button addButton;
19 /** 删除图片 */
20 private Button deleteButton;
21 /** 显示图片 */
22 private ImageView imageView;
23 /** RaletvieLayout布局,他是包含了</br>Button,ImageView控件,定义在main.*/
24 private ViewGroup viewGroup;
25
26 /** Called when the activity is first created. */
27 @Override
28 public void onCreate(Bundle savedInstanceState) {
29 super.onCreate(savedInstanceState);
30 setContentView(R.layout.main);
31 // 从main.
32 addButton = (Button) findViewById(R.id.btn_add);
33 deleteButton = (Button) findViewById(R.id.btn_delete);
34 imageView = (ImageView) findViewById(R.id.iv_image);
35 viewGroup = (ViewGroup) findViewById(R.id.layoutId);
36
37 deleteButton.setOnClickListener(new OnClickListener() {
38
39 @Override
40 public void onClick(View v) {
41 // 申明一个AlphaAnimation对象,从完全不透明到完全透明
42 AlphaAnimation alphaAnimation = new AlphaAnimation(1.0f, 0.0f);
43 // 设置动画持续时间为2秒钟
44 alphaAnimation.setDuration(2000);
45 // 执行动画前,延迟0.5秒钟
46 alphaAnimation.setStartOffset(500);
47 //为Animation对象设置监听器
48 alphaAnimation.setAnimationListener(new AnimationListener() {
49 @Override
50 public void onAnimationStart(Animation animation) {
51 Log.i(TAG, "start");
52 }
53
54 @Override
55 public void onAnimationRepeat(Animation animation) {
56 Log.i(TAG, "repeat");
57 }
58
59 @Override
60 public void onAnimationEnd(Animation animation) {
61 Log.i(TAG, "end");
62 //从viewGroup中移除imageView
63 viewGroup.removeView(imageView);
64 }
65 });
66 imageView.startAnimation(alphaAnimation);
67 }
68 });
69
70 addButton.setOnClickListener(new OnClickListener() {
71 @Override
72 public void onClick(View v) {
73 // 申明一个AlphaAnimation对象,从完全透明到完全不透明
74 AlphaAnimation alphaAnimation = new AlphaAnimation(0.0f, 1.0f);
75 // 设置动画持续时间为2秒钟
76 alphaAnimation.setDuration(2000);
77 // 执行动画前,延迟0.5秒钟
78 alphaAnimation.setStartOffset(500);
79 viewGroup.addView(imageView);
80 // 启动动画
81 imageView.startAnimation(alphaAnimation);
82 }
83 });
84 }
85 }

运行效果

1.初始化

http://www.cnblogs.com/hongten/gallery/image/112164.html

2.点击删除图片按钮

http://www.cnblogs.com/hongten/gallery/image/112165.html

3.点击添加图片按钮

http://www.cnblogs.com/hongten/gallery/image/112166.html

4.后台运行情况

http://www.cnblogs.com/hongten/gallery/image/112167.html

当我们点击删除按钮的时候,android系统会自动调用onAnimationStart()方法,再调用onAnimationEnd()方法。


Android开发_Animation

TAG:android animation 动画