点击按钮旋转

时间:2018-05-03 14:52:53

标签: java android animation button rotation

我有一个按钮,当我点击它时,向上旋转90度。当我再次点击它时,它会向下移动90度(回到上一个位置)。

问题在于,如果我向按钮发送垃圾邮件,则旋转会发疯,按钮最终会指向不应该按的方向。

这是轮换的代码:

public void onClick(View v){
    float deg = myButton.getRotation();
    if(clicked) deg -= 90;
    else deg += 90;
    myButton.animate().rotation(deg);
}

1 个答案:

答案 0 :(得分:1)

您的按钮以错误旋转结束的第一个原因是因为某些点击会考虑“错误”旋转。

第二个是单击按钮时不更新“clicked”布尔值。我建议使用ObjectAnimator,因为您不必依赖当前的旋转位置来旋转。

public void onClick(View v){

    ObjectAnimator.ofFloat(myButton, "rotation", clicked ? 90f : 0f).start();    
    clicked = !clicked
}