当前位置: 代码迷 >> Android >> android之Animation<1>
  详细解决方案

android之Animation<1>

热度:88   发布时间:2016-05-01 10:06:30.0
android之Animation<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>

?

?

  相关解决方案