android 位移動畫移動后原地綁定的點擊事件還在


今天為一個系統左側的菜單欄設置了一個點擊事件,設置了translateAnimation以后發現,當位移動畫結束以后,菜單里邊的button的onclick事件還在,不得不感慨這點官方做得實在夠腦殘,於是自己又加了一個控制view顯隱的代碼,最后代碼是這樣的:

    private void startHideAnimation(){
        if (isexpand==true) {
            Animation hideAnimation = new TranslateAnimation(0, -menuLayoutWidth, 0, 0);
            hideAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
            hideAnimation.setDuration(800);
            hideAnimation.setFillAfter(true);
            hideAnimation.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
 menuLayout.setVisibility(View.GONE);
                }
            });
            menuLayout.startAnimation(hideAnimation);//直接設置的話,menulayout雖然從視野消失,但是原地點擊的效果還在
            
        }
        isexpand = false;
    }
    private void startShowAnimation(){
        if (isexpand==false) {
            Animation showAnimation = new TranslateAnimation(-menuLayoutWidth, 0, 0, 0);
            showAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
            showAnimation.setDuration(500);
            showAnimation.setFillAfter(true);
            
            menuLayout.startAnimation(showAnimation);
            menuLayout.setVisibility(View.VISIBLE);
        }
        isexpand = true;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM