首页 > 解决方案 > ImageView src 将图像移动到中心,在更改宽度和高度时使两侧可见

问题描述

请不要将此标记为重复,因为我无法找到解决方案。

嗨,我正在尝试添加一些背景颜色的 src 图像

这是我正在做的

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="20dp"
android:background="@drawable/bg_layout_corners"
android:backgroundTint="@color/color_fbfbfa"
android:gravity="center">

<ImageView
    android:id="@+id/iv_dashboard_niggle"
    android:layout_width="wrap_content"
    android:layout_height="200dp"
    android:layout_centerHorizontal="true"
    android:layout_centerInParent="true"
    android:layout_centerVertical="true"
    android:scaleType="centerInside"
    android:background="@color/colorAccent"
    android:src="@drawable/niggle2_3_3_3" />

</RelativeLayout>

在此处输入图像描述

这是我得到的输出

当我尝试减小 imageView 的宽度或高度时,实际图像位于中心并且可以看到一些边框。

我还检查了 scaleType="center",这也不起作用

请帮我。

标签: androidimageviewsrc

解决方案


您想在图像视图中设置的图像需要具有相同的纵横比才能完全适合而不应用 scaleType...

例如

如果要设置高宽比为 1:1 的方形图像,则 ImageView 比例需要为 1:1

好吧,但是如果图像不符合比例,我们也有 ScaleType,那么我们可以通过调整图像大小来设置比例类型以匹配图像视图的大小

在您的情况下,这完全取决于您要展示的内容。

如果您不想要背景边框,则只需使用以下方法将背景颜色设置为透明

android:background="@android:color/transparent"

如果您不想使用缩放类型,最好的方法是根据纵横比定义 ImageView 大小


推荐阅读