如何在不改变布局的情况下更改方向时旋转按钮?

时间:2015-10-06 21:59:32

标签: android android-layout button orientation android-imagebutton

我想在设备方向改变时使ImageButton旋转。它应旋转90度,180度,270度和360度角度,其相对布局应保持稳定,以便只有按钮移动。如何才能做到这一点?我做了一些研究,但没有找到任何可以帮助我的事情。

1 个答案:

答案 0 :(得分:3)

您可以通过覆盖onConfigurationChanged()来检测方向更改:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    //call your rotate method here 
}

然后,一旦检测到方向更改事件,就可以对Button执行动画旋转,如下所示:

public void rotateView(View view) {
    Button button = (Button) view.findViewById(R.id.some_button);
    RotateAnimation rotateAnimation = new RotateAnimation(0, 360); 
    rotateAnimation.setDuration(2000);
    button.startAnimation(rotateAnimation);
}

您可以在RotateAnimation的构造函数中设置起始角度和结束角度,然后设置动画应该花费多长时间的持续时间(以毫秒为单位)。然后,您只需在要制作动画的视图上调用startAnimation()