码迷,mamicode.com
首页 > 移动开发 > 详细

android--利用Animation.RELATIVE_TO_SELF做出个性化的动画

时间:2015-02-03 09:32:22      阅读:396      评论:0      收藏:0      [点我收藏+]

标签:android   移动   缩放   旋转   淡入淡出   

在Android开发中,Animation是用来给控件制作效果的。大多数的控件都可以用这个类,这个类包含了4种基本动作,分别为移动旋转淡入淡出缩放

使用Animation的两种方式:

方式一:在代码中创建、设置以及启动动画(移动TranslateAnimation/旋转RotateAnimation/淡入淡出AlphaAnimation/缩放ScaleAnimation),这样的优点是可以方便调试程序效果;

方式二:在xml中对控件的属性做设置,好处是代码的重用性比较高,缺点是不方便调试。

下面我们重点针对代码创建的方式来举例:

在开始示例之前我们普及两个非常重要的参考标准:Animation.RELATIVE_TO_SELF(相对于自身)、Animation.RELATIVE_TO_PARENT(相对于父控件(容器))。

1、imageView控件由完全透明到完全不透明变化,持续时间为0.2s;

	private void toVisibleAnim(View view)
	{
		AlphaAnimation alphaAnimation = new AlphaAnimation(0.0f, 1.0f);
		alphaAnimation.setDuration(200);
		view.startAnimation(alphaAnimation);
	}

2、imageView控件由原来大小尺寸沿自身尺寸中心逐渐缩放到0,持续时间为0.2s;

	private void toHideAnim(View view)
	{
		ScaleAnimation scaleAnimation = new ScaleAnimation(1.0f, 0.0f, 1.0f, 0.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
		scaleAnimation.setDuration(200);
		view.startAnimation(scaleAnimation);
	}

3、imageView控件以自身中心为圆心旋转90度,持续时间为0.2s;

	private void rotateAnim(View view)
	{
		view.setVisibility(View.VISIBLE);
		RotateAnimation rotateAnimation = new RotateAnimation(0, 90, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
		rotateAnimation.setDuration(200);
		view.startAnimation(rotateAnimation);
	}

4、imageView控件从自身位置的最右端开始向左水平滑动了自身的宽度,持续时间为0.2s;

	private void showScrollAnim(View view) {
		view.setVisibility(View.VISIBLE);
		TranslateAnimation mShowAction = new TranslateAnimation(
				Animation.RELATIVE_TO_SELF, 1.0f, Animation.RELATIVE_TO_SELF,
				0.0f, Animation.RELATIVE_TO_SELF, 0.0f,
				Animation.RELATIVE_TO_SELF, 0.0f);
		mShowAction.setDuration(200);
		view.startAnimation(mShowAction);
	}

5、image控件从自身位置的最左端开始水平向右滑动隐藏动画,持续时间0.2s

	private void hiddenScrollAnim(LinearLayout view) {
		view.setVisibility(View.GONE);
		TranslateAnimation mHiddenAction = new TranslateAnimation(
				Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF,
				1.0f, Animation.RELATIVE_TO_SELF, 0.0f,
				Animation.RELATIVE_TO_SELF, 0.0f);
		mHiddenAction.setDuration(200);
		view.startAnimation(mHiddenAction);
	}


android--利用Animation.RELATIVE_TO_SELF做出个性化的动画

标签:android   移动   缩放   旋转   淡入淡出   

原文地址:http://blog.csdn.net/wanggsx918/article/details/43409405

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!