53

我的布局中有这个 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 类中做到这一点?

4

3 回答 3

169

您可以使用自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" />
于 2012-06-28T11:10:32.253 回答
3

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

 android:id="@+id/imageView"

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

val imageView = findViewById<ImageView>(R.id.imageView)
imageView.setRotation(90f) // rotate 90 degree
于 2018-09-02T19:34:07.697 回答
1

您可以通过创建一个新的位图对象在您的代码中做到这一点。看看这个: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);
于 2012-06-28T11:48:24.147 回答