Android 缩小ImageButton/ImageView,而不在周围留空间

Android 缩小ImageButton/ImageView,而不在周围留空间,android,Android,我在调整ImageView和ImageButton的大小时遇到一些问题 假设我有一个矩形布局(我不想知道它是水平矩形还是垂直矩形)和一个包含透明背景的ImageButton,作为ImageResource,它是一个正方形图像 我想让按钮保持方形,所以我使用setScaleType(ScaleType.FIT\u CENTER)来拉伸按钮。它工作得很好 当按钮需要缩小以适应矩形布局而不是拉伸时,问题就会出现:在这种情况下,图像被正确缩小,但布局中保留的空间是图像在剪切时保留的空间 这就是我认为会发

我在调整ImageView和ImageButton的大小时遇到一些问题

假设我有一个矩形布局(我不想知道它是水平矩形还是垂直矩形)和一个包含透明背景的ImageButton,作为ImageResource,它是一个正方形图像

我想让按钮保持方形,所以我使用
setScaleType(ScaleType.FIT\u CENTER)
来拉伸按钮。它工作得很好

当按钮需要缩小以适应矩形布局而不是拉伸时,问题就会出现:在这种情况下,图像被正确缩小,但布局中保留的空间是图像在剪切时保留的空间

这就是我认为会发生的情况:

  • 图像被放入布局中
  • 布局中的空间是保留的
  • 在此之后,将调整图像的大小
  • 如果要求的空间增加,布局会扩大,否则什么也不做
  • 因此,在布局中,如果需要缩小图像,则图像会被大量的空白空间四舍五入
  • 经典的问题是:我的布局应该包含一行,比如说六个方形按钮。如果按钮尺寸大于水平线布局的高度,则按钮末端会有大量的空白,而不是触摸它们

    我尝试使用固定大小的图像,在将它们放入布局之前强制它们调整大小,但这对我来说不是一个解决方案。首先,我希望它是动态的(即:布局可能会在应用程序生命周期内改变大小,图像也应该随之改变)。其次,当我将图像放入布局时,很容易出现布局尚未设置且其大小返回零的情况

    有人能帮我吗


    谢谢。

    只需添加属性即可

    android:adjustViewBounds="true"
    
    添加到布局中的图像视图元素。你可以看看这篇文章