我正在使用以下代码将 ImageView 中的图像旋转一个角度。有没有更简单和不太复杂的方法可用。
ImageView iv = (ImageView)findViewById(imageviewid); TextView tv = (TextView)findViewById(txtViewsid); Matrix mat = new Matrix(); Bitmap bMap = BitmapFactory.decodeResource(getResources(),imageid); mat.postRotate(Integer.parseInt(degree));===>angle to be rotated Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0,bMap.getWidth(),bMap.getHeight(), mat, true); iv.setImageBitmap(bMapRotate);
另一种旋转的简单方法ImageView: 更新: 必需的导入:
ImageView
import android.graphics.Matrix; import android.widget.ImageView;
代码:(假设imageView, angle, pivotX&pivotY已经定义)
imageView
angle
pivotX
pivotY
Matrix matrix = new Matrix(); imageView.setScaleType(ImageView.ScaleType.MATRIX); //required matrix.postRotate((float) angle, pivotX, pivotY); imageView.setImageMatrix(matrix);
此方法不需要每次都创建新的位图。
注意:要在运行时旋转ImageViewontouch , 您可以设置 onTouchListener 并通过在触摸侦听 器 ACTION_MOVEImageView部分的上述代码部分中添加最后两行(即 postRotate 矩阵并将其设置在 imageView 上)来旋转它。 __