1

それで、私がそれをクリックすると、それは右に少しスライドしてそこにとどまっている最初のアニメーションを実行し、次に2番目のアニメーションを自動的に実行して後ろにスライドします

これは、その想定される方法です

それをクリックすると、右にスライドします。そして、もう一度クリックすると、左にスライドして戻ります。

私のコード:

     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;
        }



    }
4

1 に答える 1

0

あなたの

if (out == 1)

条件

else if (out == 1)

現在の形式では、コードは最初のブロックを終了した後に2番目のブロックを実行します。結局のところ、明示的に設定するだけですout = 1

于 2012-10-19T04:18:23.043 に答える