单击时按钮旋转
Button rotation on click
我有一个按钮,当我点击它时,它会向上旋转 90 度。当我再次点击它时,它会向下 90 度(返回到之前的位置)。
问题是,如果我向按钮发送垃圾邮件,旋转确实会变得疯狂,并且按钮最终会指向它不应该指向的方向。
这里是旋转的代码:
public void onClick(View v){
float deg = myButton.getRotation();
if(clicked) deg -= 90;
else deg += 90;
myButton.animate().rotation(deg);
}
您的按钮以不正确的旋转结束的第一个原因是因为某些点击会考虑 "wrong" 旋转。
第二个是单击按钮时不更新 "clicked" 布尔值。我建议使用 ObjectAnimator,因为您不必依赖当前的旋转位置来旋转。
public void onClick(View v){
ObjectAnimator.ofFloat(myButton, "rotation", clicked ? 90f : 0f).start();
clicked = !clicked
}
我有一个按钮,当我点击它时,它会向上旋转 90 度。当我再次点击它时,它会向下 90 度(返回到之前的位置)。
问题是,如果我向按钮发送垃圾邮件,旋转确实会变得疯狂,并且按钮最终会指向它不应该指向的方向。
这里是旋转的代码:
public void onClick(View v){
float deg = myButton.getRotation();
if(clicked) deg -= 90;
else deg += 90;
myButton.animate().rotation(deg);
}
您的按钮以不正确的旋转结束的第一个原因是因为某些点击会考虑 "wrong" 旋转。
第二个是单击按钮时不更新 "clicked" 布尔值。我建议使用 ObjectAnimator,因为您不必依赖当前的旋转位置来旋转。
public void onClick(View v){
ObjectAnimator.ofFloat(myButton, "rotation", clicked ? 90f : 0f).start();
clicked = !clicked
}