我正在使用此xml代码将imageVeiw旋转180度:
<ImageView
android:id="@+id/keyP2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btn4"
android:layout_centerHorizontal="true"
android:adjustViewBounds="true"
android:rotation="180"
android:maxWidth="125dp"
android:scaleType="fitCenter"
android:src="@drawable/image0_key" />
这适用于android api版本11及以上,但api 11下不支持android:rotation="180"
。如何将imageView旋转180度以下11?
答案 0 :(得分:5)
试试这个。它适合我。
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator" >
<rotate
android:duration="2000"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" >
</rotate>
</set>
将此文件保存在名为“anim”的文件夹下的资源中。
RES /动画/ rotate.xml
在您的活动中。添加此代码。
Animation sampleFadeAnimation = AnimationUtils.loadAnimation(PreviewImageActivity.this,R.anim.rotate);
sampleFadeAnimation.setRepeatCount(1);
yourImageView.startAnimation(sampleFadeAnimation);
做一些研究,你会得到许多属性来改善这个旋转动画。
感谢...
答案 1 :(得分:0)
您可能希望通过扩展动画以编程方式尝试。我最喜欢的东西是:
RotateAnimation rotateAnim = new RotateAnimation(0f, 350f, 15f, 15f);
rotateAnim.setInterpolator(new LinearInterpolator());
rotateAnim.setRepeatCount(Animation.INFINITE);
rotateAnim.setDuration(700);
// Start the animation
final ImageView imgView = (ImageView) findViewById(R.id.YOUR_ID);
imgView.startAnimation(rotateAnim);
// Stop when necessary
imgView.setAnimation(null);
虽然我不完全确定在11之前是否支持RotateAnimation。但是你应该能够以编程方式完成它。
修改:有关其他选项,请参阅Android Rotatable ImageView