zoukankan      html  css  js  c++  java
  • 移动终端网页游戏移植研发框架【带动画效果控件隐藏的方法】

    大家都知道:

    控件名.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】 欢迎一起参与讨论策划。

  • 相关阅读:
    To My Girlfriend (DP)
    A Simple Nim (SG打表找规律)
    A Boring Question (打表)
    A Simple Chess (Lucas组合数 + 容斥)
    World is Exploding (容斥 + 统计)
    Two (DP)
    K-wolf Number (数位DP)
    Interesting (manacher + 前缀和处理)
    How Many Triangles (极角排序 + 尺取法)
    Divide the Sequence (贪心)
  • 原文地址:https://www.cnblogs.com/zisou/p/jskz9.html
Copyright © 2011-2022 走看看