私のレイアウトにこの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度回転させたいので、垂直な仕切りがあります。
アクティビティクラスではなく、レイアウトからここで行う方法はありますか?
Available Since API Level 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" />
ImageViewに「id」を追加します(自動を生成しない場合):
Android:id="@+id/imageView"
「id」を使用します(kotlinの例):
val imageView = findViewById<ImageView>(R.id.imageView)
imageView.setRotation(90f) // rotate 90 degree
新しいビットマップオブジェクトを作成することで、コードでそれを行うことができます。これをチェックしてください: 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);