所以,当我点击它时,它会执行第一个动画,该动画向右滑动一点并停留在那里,然后它会自动执行第二个动画并向后滑动
这就是它应该去的方式
你点击它,它就会滑到右边。当您再次单击它时,它会滑回左侧。
我的代码:
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;
}
}
最佳答案
改变你的
if (out == 1)
条件
else if (out == 1)
在当前的形式中,代码将在完成第一个 block 后执行第二个 block 。毕竟,您只是显式设置了 out = 1
。
关于java - Android 动画错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12967297/