gpt4 book ai didi

java - Android,ImageView,不需要的填充

转载 作者:行者123 更新时间:2023-12-02 03:16:59 25 4
gpt4 key购买 nike

我正在使用类似的东西来展示我的 Logo 或用户个人资料图片:

<ImageView
android:id="@+id/logo"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/circle_bg"
android:src="@drawable/account_circle_grey"
android:layout_gravity="center_horizontal" />

@drawable/circle_bg:

<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="@color/colorWhiteOpacity"/>
<size
android:width="100dp"
android:height="100dp"/>
</shape>

@drawable/account_circle_grey只是我从MaterialUI获取的图像(黑色192x192)并使用Final-Android-Resizer .

问题是我得到了类似的东西:

enter image description here

基本上问题是,当用户单击并选择图片时,我使用 glide 加载图片来替换默认的 @drawable/account_circle_gray 但正如你所看到的,填充消失了:

enter image description here

图片占据了整个空间,因为它应该!,我想添加的是 padding="5dp" ,这将在背景和 Glide 之间提供一些填充 加载用户图片,问题@drawable/account_circle_grey 已经有一个奇怪填充,但我注意到没有所有drawables都有填充,当我选择一张旧图片用作整页背景时,我没有得到填充,也许我可以强制android选择更大的图片,为什么我会得到这个填充?

编辑:为了澄清我使用了 this尝试所有可能的(scaleType + adjustmentViewBounds)值的教程,但没有任何效果。

最佳答案

当您使用的图像的物理尺寸小于 ImageView 的大小时,很可能会发生这种情况。您可以缩放图像以填充空间或使用更大的图像。两者的结合可能是最好的解决方案。

要实现两者中的前一个,请尝试以下操作:

<ImageView
android:id="@+id/logo"
android:layout_width="90dp"
android:layout_height="90dp"
android:background="@drawable/circle_bg"
android:src="@drawable/account_circle_grey"
android:layout_gravity="center_horizontal"
android:scaleType="fitXY"
android:padding="5dp" />

请注意,我将宽度和高度减少了 2 倍内边距。这是因为向 View 添加填充会增加整个 View 的大小,增加的大小与填充的大小相同。在本例中,我们向左、右、上、左添加 5dp。这意味着我们必须从宽度中减去左侧和右侧,从高度中减去顶部和底部。

关于java - Android,ImageView,不需要的填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40164393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com