2015《Cocos2dx-JS游戏集合》

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  51 随笔 :: 4 文章 :: 179 评论 :: 0 引用

大家都知道:

控件名.setVisibility(View.GONE);能够在安卓里面隐藏控件,并且不占空间!

Ok,但是带动画效果的控件隐藏效果是不一样的。有一定区别,犹豫在视图中,setVisibility属性只是在静态的线程里面才能生效。

那么动态效果的时候setVisibility属性就会失效了。所以在这里介绍一点编程小技巧

首先我们看一下图:

上图可以看到有3个控件按钮,并且它们都是带有动画效果的控件,现在都是GONE状态,只显示动画开启的按钮效果。

要实现真正的能隐藏带动画效果的控件,必须有个先后顺序,然后再来启动按钮显示!

iv_chatliaoqiehuan.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Animation aniout = AnimationUtils.loadAnimation(getContext(),
						R.anim.playerinfo_state_out);
				aniout.setAnimationListener(new AnimationListener() {
					
					@Override
					public void onAnimationStart(Animation animation) {
						// TODO Auto-generated method stub
						
					}
					
					@Override
					public void onAnimationRepeat(Animation animation) {
						// TODO Auto-generated method stub
						
					}
					
					@Override
					public void onAnimationEnd(Animation animation) {
						// TODO Auto-generated method stub
						iv_chatliaoqiehuan.setVisibility(View.GONE);
					}
				});
				iv_chatliaoqiehuan.startAnimation(aniout);
				Animation aniin = AnimationUtils.loadAnimation(getContext(),
						R.anim.playerinfo_state_in);
				aniin.setAnimationListener(new AnimationListener() {
					
					@Override
					public void onAnimationStart(Animation animation) {
						// TODO Auto-generated method stub
						
					}
					
					@Override
					public void onAnimationRepeat(Animation animation) {
						// TODO Auto-generated method stub
						
					}
					
					@Override
					public void onAnimationEnd(Animation animation) {
						// TODO Auto-generated method stub
						ll_chatinfolist.setVisibility(View.VISIBLE);
						iv_chatyingqiehuan.setVisibility(View.VISIBLE);
					}
				});
				ll_chatinfolist.startAnimation(aniin);
				iv_chatyingqiehuan.startAnimation(aniin);
				
			}
		});

先将动画实例化,然后将

setAnimationListener方法监听实现,当动画播放完毕之后将界面隐藏或者显示,这样,整个界面的流畅和逻辑就正确了,用户使用起来也非常方便!
onAnimationEnd里面书写隐藏或者关闭的代码,当动画播放完毕之后执行操作。

如图,动画展开,关闭都有动画,并且,在动画播放完毕后都实现了隐藏。

剑神客栈研发官方群:【45578308】 欢迎一起参与讨论策划。

posted on 2012-03-08 10:41  入梦凡尘  阅读(1819)  评论(3编辑  收藏