2012-10-19 35 views
1

所以,當我點擊它,它會做它的滑動右側小有一點位和在那裏停留的第一個動畫,然後它會自動做第二次動畫和滑回的Android動畫錯誤

這是怎麼了堅持去

你點擊它,它會滑向右側。當你再次點擊它時,它會向左滑動。

我的代碼:

 public void sideBar() 
    { 



     ImageView sidebar = (ImageView)findViewById(R.id.sidebar); 

     if(out == 0) 
     { 
     mSlideInRight = AnimationUtils.loadAnimation(this, R.anim.slide_in_right); 
     mSlideInRight.setFillAfter(true); 
     sidebar.startAnimation(mSlideInRight); 
     out= 1; 
     } 

     if(out == 1) 
     { 
       mSlideInLeft = AnimationUtils.loadAnimation(this, R.anim.slide_in_left); 
       sidebar.startAnimation(mSlideInLeft); 
       out=0; 
     } 

    } 

這個地區是當你在它

public void onClick(View v) { 

     switch(v.getId()) 
     { 


      case R.id.sidebar: 
       sideBar(); 
      break; 
     } 



    } 

回答

0

單擊更改它處理你的

if (out == 1) 

條件

else if (out == 1) 

在當前表單中,代碼將在完成第一個代碼後執行第二個代碼塊。畢竟,你只是明確地設置了out = 1

+0

好吧,它的工作!但首先點擊它會解決我的問題,然後完成!我如何解決第一次點擊問題 – Dalton

+0

請修改您的問題並添加更新的代碼。這也可能有助於瞭解「out」是如何初始化的。 –

+0

http://pastebin.com/kjwcRG5z我把這裏放在這裏http://pastebin.com/beHXCF1k – Dalton