当点击一个button在android中顺时针旋转图像

我有一个要求,我有一个ImageView和一个button。

http://sofzh.miximages.com/android/bwe.png

我想单击button时旋转图像。 我需要全屏的图像。 但是当我点击button图片时会旋转,而不是全屏显示。 请看下面的链接。

http://sofzh.miximages.com/android/bwe.png

之后,当我点击button图像将旋转。 但是位置被改变并且不全屏显示。

我的要求是,当我点击button图像将roatate顺时针,并将全屏显示。 我再次单击button图像必须旋转时钟明智和全屏显示。 同样,当我点击button图像必须旋转。

所以有人可以帮我吗? 如果你能给我一个示例代码或链接,将非常appriciated。

这是我正在尝试的代码,

main.xml中

<merge xmlns:android="http://schemas.android.com/apk/res/android" > <ImageView android:id="@+id/imgView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:scaleType="fitXY" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:adjustViewBounds="true" android:src="@drawable/matterhorn" /> <Button android:id="@+id/btnRotate" android:layout_width="65dp" android:layout_height="35dp" android:layout_gravity="bottom|left" android:layout_marginLeft="190dp" android:layout_marginBottom="15dp" android:layout_weight="1" android:background="@android:color/transparent" android:drawableLeft="@drawable/btn_icon_rotate" > </Button> </merge> 

这是我的主要活动“MainActivity.java”

 package com.imageview.rotate; import android.os.Bundle; import android.app.Activity; import android.graphics.Matrix; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import android.widget.ImageView.ScaleType; public class MainActivity extends Activity implements OnClickListener{ private Button btnRotate; private ImageView imgview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); imgview = (ImageView) findViewById(R.id.imgView); btnRotate = (Button) findViewById(R.id.btnRotate); btnRotate.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btnRotate: Matrix matrix=new Matrix(); imgview.setScaleType(ScaleType.MATRIX); //required matrix.postRotate((float) 180f, imgview.getDrawable().getBounds().width()/2, imgview.getDrawable().getBounds().height()/2); imgview.setImageMatrix(matrix); break; } } } 

提前致谢。

Solutions Collecting From Web of "当点击一个button在android中顺时针旋转图像"

尼斯

anim文件夹中创buildbutton_rotate.xml

 <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fromDegrees="0" android:interpolator="@android:anim/linear_interpolator" android:pivotX="50%" android:pivotY="50%" android:toDegrees="360" /> 

现在在Java文件中创buildanimation:

 /* Get ImageView Object */ ImageView iv = (ImageView) view.findViewById(R.id.refresh_action_view); /* Create Animation */ Animation rotation = AnimationUtils.loadAnimation(context, R.anim.refresh_button_anim); rotation.setRepeatCount(Animation.INFINITE); /* start Animation */ iv.startAnimation(rotation); 

对于停止animation:

 iv.clearAnimation(); 

可能有帮助这个:

投票了;)

快乐编码:)继续旋转:)