【发布时间】:2017-06-16 04:16:51
【问题描述】:
如何获得具有固定高度且仅根据其源图像的比例所需的宽度的ImageButton?
我尝试了以下方法:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="8pt"
android:minWidth="0pt"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
android:src="@drawable/list_download"
android:background="@android:color/black"
android:padding="0pt"/>
我将背景设置为黑色只是为了准确查看它的边界,here 就是结果。
我看到了一些建议使用负填充的解决方案,但这不是一个优雅的解决方案。应该有更好的。
我也在ImageView 上尝试了类似的配置,但它也有额外的填充。所以这不是ImageButton 特定的问题(即它与this 九补丁问题无关)。
编辑:如果我将scaleType 从fitCenter 更改为fitStart,那么结果就像this。所以不知何故有一个最小宽度。
【问题讨论】:
-
你是指左右padding吗?
-
@Rod_Algonquin 是的。对于
fitCenter,左右。对于fitStart,只对了。 -
这可以通过使用矢量 xml 图像来解决,您可以在 xml 中指定图像的宽度/高度(非常简单),您也不需要缩放它,因为矢量已经可以缩放.
-
@Rod_Algonquin 我想要实现的是,我不想同时设置宽度和高度。我只想设置一个维度,并根据图像的比例适当地设置另一个维度。
标签: android android-layout padding imagebutton