拉伸以旋转图像填充ImageView

时间:2018-02-05 20:38:50

标签: android imageview

我希望它用我的旋转图像填充ImageView。 这是我的ImageView代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<ImageView
    android:id="@+id/imgResult"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:rotation="90"
    android:scaleType="fitXY"
    android:src="@drawable/img_ex" />

<LinearLayout
    android:id="@+id/linearLayout"
    style="?android:attr/buttonBarStyle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintStart_toStartOf="parent">

    <Button
        android:id="@+id/btCancelar"
        style="?android:attr/buttonBarButtonStyle"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Cancelar"
        app:layout_constraintBottom_toBottomOf="parent"
        />

    <View
        android:layout_width="1dp"
        android:layout_height="match_parent"
        android:background="#fff" />

    <Button
        android:id="@+id/btSalvar"
        style="?android:attr/buttonBarButtonStyle"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Salvar"
        app:layout_constraintBottom_toBottomOf="parent"
        />
</LinearLayout>

</LinearLayout>

在图像中,您可以在蓝图中看到imageview大小。 Screen design

我不介意拉伸图像,我只是想填充ImageView组件

PS:我已经尝试过这个解决方案Scaling ImageView to device width

1 个答案:

答案 0 :(得分:0)

我的解决方案是在显示之前在我的活动中旋转位图。然后它工作

fun rotateBitmap(source: Bitmap, angle: Float): Bitmap {
    val matrix = Matrix()
    matrix.postRotate(angle)
    return Bitmap.createBitmap(source, 0, 0, source.width, source.height, matrix, true)
}