为什么 Android ImageView 中的图像显示为中间的一个点?

Why is image in Android ImageView shown as a dot in the middle?

如标题所述,我的问题是为什么 ImageView 中的图像在中心显示为一个点。这是显示我所说的“中心点”的图像:1

此错误仅在 Lenovo 平板电脑 运行 Android 8.1.0 上暴露。在所有模拟器和其他设备上,一切都运行良好。 这是我设置图像的 xml 和 Java 代码的一部分。

<androidx.cardview.widget.CardView
    android:id="@+id/pet_card_view"
    android:layout_width="@dimen/card_view_width"
    android:layout_height="@dimen/card_view_height"
    android:layout_marginStart="@dimen/margin_left_create_marker"
    android:layout_marginTop="16dp"
    app:cardBackgroundColor="@color/white"
    app:cardCornerRadius="@dimen/corner_radius"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <androidx.cardview.widget.CardView
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_gravity="center"
        app:cardCornerRadius="250dp">

        <ImageView
            android:id="@+id/pet_picture"
            android:layout_width="@dimen/pet_picture_width"
            android:layout_height="@dimen/pet_picture_height"
            android:scaleType="centerCrop"
            tools:ignore="ContentDescription"/>
    </androidx.cardview.widget.CardView>
</androidx.cardview.widget.CardView>

markerViewModel.getChosenPicture().observe(getViewLifecycleOwner(), uri -> {
        if (uri != null) {
            binding.petPicture.setImageURI(uri);
            petPicture = uri;
        }
    });

您的 app:cardCornerRadius 占满了所有 space。将其设置为 25dp 或更小,您应该会开始看到一些东西。