从布局xml文件中旋转ImageView源

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从布局xml文件中旋转ImageView源相关的知识,希望对你有一定的参考价值。

我的布局中有这个ImageView:

<ImageView android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:contentDescription="@string/image_divider"
        android:paddingBottom="8dp"
        android:paddingTop="4dp"
        android:scaleType="fitXY"
        android:src="@android:drawable/divider_horizontal_textfield" />

这是一个水平分隔线。我想将它旋转90度,所以我有一个垂直分隔线。 有没有可能的方法在布局而不是Activity类中执行此操作?

答案

您可以使用可用的API级别11

android:rotation="90"

最终守则,

<ImageView android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:rotation="90"
        android:contentDescription="@string/image_divider"
        android:paddingBottom="8dp"
        android:paddingTop="4dp"
        android:scaleType="fitXY"
        android:src="@android:drawable/divider_horizontal_textfield" />
另一答案

您可以通过创建新的位图对象在代码中执行此操作。看看这个:http://android-er.blogspot.fr/2010/07/rotate-bitmap-image-using-matrix.html特别是这个功能

Matrix matrix = new Matrix();
matrix.postScale(curScale, curScale);
matrix.postRotate(curRotate);

Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bmpWidth, bmpHeight, matrix, true);
myImageView.setImageBitmap(resizedBitmap);
另一答案

在ImageView中添加“id”(如果不生成自动):

 android:id="@+id/imageView"

并使用“id”(kotlin示例):

val imageView = findViewById<ImageView>(R.id.imageView)
imageView.setRotation(90f) // rotate 90 degree

以上是关于从布局xml文件中旋转ImageView源的主要内容,如果未能解决你的问题,请参考以下文章

如何通过布局检查器导航到声明 Imageview 的 XML 文件?

在Android中,如何将数据从类传递到相应的布局/片段文件?

什么是工具:片段 xml 文件中的布局?

从 fragmentActivity 刷新片段 UI

如何在用java创建的布局内创建地图片段(GoogleMap)?

Imageview不显示圆角