如何使用Android ConstraintLayout组件显示正方形内的任何图像

问题描述 投票:1回答:1

我有一个播放器屏幕,我想在其中将音频文件提供的插图显示为正方形。大多数文件都提供方形图稿,但有些文件会提供矩形图稿。在这种情况下,我要使用图像的整个高度,并“放大”,从而丢失左右两侧的一些信息,但能够以正方形显示它。现在我没有这样做。另外,如果提供垂直矩形,我希望它也能正常工作]

我是Constraintlayout的新手,请尝试以下操作,但这不起作用

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/thumbnail"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintDimensionRatio="1:1"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        android:gravity="center"
        android:filter="true"
        android:padding="20dp"
        android:elevation="1dp"
        android:scaleType="centerCrop" />
</androidx.constraintlayout.widget.ConstraintLayout>

关于实现此目标的任何想法?

android android-constraintlayout
1个回答
0
投票

您可以将android:scaleType="centerCrop"替换为android:scaleType="fitXY"以更改图像的默认格式和比例

摘自文档:

使用Matrix.ScaleToFit#FILL缩放图像

    <ImageView
    android:id="@+id/thumbnail"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:src="@drawable/image"
    app:layout_constraintDimensionRatio="1:1"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    android:gravity="center"
    android:filter="true"
    android:elevation="1dp"
    android:scaleType="fitXY" />
© www.soinside.com 2019 - 2024. All rights reserved.