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

  • 相关阅读:
    还在写onClickListener()???你OUT拉
    Java 中的reference
    如何将eclipse上的android项目转移到android studio
    List,Set,Map再学习一下
    Java对象实例化的速度的一个试验
    如何自定义ImageView并让其渐变出现(李刚老师)
    android studio 中git插件的使用 github项目的配置及操作
    eGit插件
    原来Linux才是深入学习3D的好去处【原创】
    用FileMapping跨进程共享数据
  • 原文地址:https://www.cnblogs.com/zisou/p/jskz9.html
Copyright © 2011-2022 走看看