Rotate ImageView source from layout xml file

心已入冬 提交于 2019-12-04 09:51:37

问题


I have this ImageView in my layout:

<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" />

It's a horizontal divider. I want to rotate it 90 degrees so I have a vertical divider.
Is there any possible way to do it right here from the layout and not the Activity class?


回答1:


You can use Available Since API Level 11

android:rotation="90"

Final Code to Put,

<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" />



回答2:


You can do that in your code by creating a new bitmap object. Check this out : http://android-er.blogspot.fr/2010/07/rotate-bitmap-image-using-matrix.html And specifically this function

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);



回答3:


Add "id" at ImageView (if not generate auto):

 android:id="@+id/imageView"

and use the "id" (kotlin example):

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


来源:https://stackoverflow.com/questions/11243314/rotate-imageview-source-from-layout-xml-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!