我想要一个按钮(作为图像)顺时针旋转以便用户界面。我不想旋转onClick按钮。只需在xml文件中旋转即可。 android:旋转对我不起作用。
我的代码是
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:background="@drawable/button"
android:rotation="-90"
android:id="@+id/button"
android:layout_gravity="right|left"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
答案 0 :(得分:5)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:duration="600"
android:repeatMode="restart"
android:repeatCount="infinite"
android:interpolator="@android:anim/cycle_interpolator"/>
</set>
时钟明智 - 使用积极的toDegrees值
反时钟 - 使用负值至度值
答案 1 :(得分:1)
创建一个XML文件,假设是rotate.xml,并将其放在名为anim(在res中)的文件夹中
打开该文件并编写此代码:
<?xml version="1.0" encoding="UTF-8"?>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:interpolator="@android:anim/linear_interpolator"
android:pivotY="50%"
android:repeatCount="infinite" //you can change it according to the duration you want it ti rotate
android:duration="1200" />
然后在你的代码中在OnCreate中执行此操作:
button.startAnimation(
AnimationUtils.loadAnimation(activity, R.anim.rotation) );
希望它有所帮助!
答案 2 :(得分:1)
您可以在按钮OnClick中使用以下代码旋转按钮:
ObjectAnimator.ofFloat(v,&#34; rotation&#34;,0,360).start();
在这里,&#39; v&#39;是按钮视图。这是一个例子:
button.setOnClickListener(new View.OnClickListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
ObjectAnimator.ofFloat(v, "rotation", 0, 360).start();
return false;
}
});