J'ai cette ImageView dans ma mise en page:
<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" />
C'est un diviseur horizontal. Je veux le faire pivoter de 90 degrés, j'ai donc un diviseur vertical.
Y a-t-il un moyen possible de le faire ici à partir de la mise en page et non de la classe d'activité?
Vous pouvez utiliser Available Since API Level 11
Android:rotation="90"
Code final à mettre,
<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" />
Ajoutez "id" à ImageView (sinon générez auto):
Android:id="@+id/imageView"
et utilisez le "id" (exemple kotlin):
val imageView = findViewById<ImageView>(R.id.imageView)
imageView.setRotation(90f) // rotate 90 degree
Vous pouvez le faire dans votre code en créant un nouvel objet bitmap. Vérifiez ceci: http://Android-er.blogspot.fr/2010/07/rotate-bitmap-image-using-matrix.html Et spécifiquement cette fonction
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);