`
test_angel
  • 浏览: 50063 次
  • 性别: Icon_minigender_2
  • 来自: 西安
社区版块
存档分类
最新评论

Android 动画

 
阅读更多

动画对我来说一直是一个真空区,以前接触的比较少,所以当拿到后面的这个动画时,脑袋有点懵。具体描述一下这个动画:我需要实现一个动态的效果就是在一个layout中有n个item,这个layout从底部飘上来 ,这n个item从上面飘下来的效果。

现在我就总结一下这个效果的实现方式。

 

step1:先对这个layout及其中的item进行布局,不要设置背景

 

step2:在代码中加载时设置layout的背景,添加动画并执行该动画。

 

示例代码如下:

 

 

layout.setBackgroundResource(R.drawable.background);
		Animation inAnimation = AnimationUtils.loadAnimation(this,
				R.anim.lay_in_anim);
		layout.startAnimation(inAnimation);

step3:执行完layout的加载后就需要对每个item进行动画的添加及背景的设置了,那么我们如何做呢?

 

step3.1:先对以上动画做监听,代码如下:

 

inAnimation.setAnimationListener(new Animation.AnimationListener() {

			@Override
			public void onAnimationStart(Animation arg0) {
				// TODO Auto-generated method stub

			}

			@Override
			public void onAnimationRepeat(Animation arg0) {
				// TODO Auto-generated method stub

			}

			@Override
			public void onAnimationEnd(Animation arg0) {
                                // add  item animation
			}
		});

 

step3.2:在动画完成时(即 inAnimationEnd(Animation arg0))加载每个item的动画。item的动画实现方式如layout,只是动画的具体内容不同,需要自己根据不同情况设定。

 

 

 

注:我们在启动activity(A --> B)的时候也可以通过overridePendingTransition(int enterAnim, int exitAnim)方法

对启动B的动画进行设置。一般在startActivity(Intent) 或finis()后面调用。enterAnim为要进入页面的动画资源号exitAnim为要退出页面的动画资源号

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics