1

因此,当我单击它时,它将执行第一个动画,该动画向右滑动并停留在那里,然后它将自动执行第二个动画并向后滑动

这就是它应该去的方式

你点击它,它会向右滑动。当您再次单击它时,它将向左滑回。

我的代码:

     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)

在当前形式下,代码将在完成第一个块后执行第二个块。毕竟,你只是明确地设置了out = 1.

于 2012-10-19T04:18:23.043 回答