防止ImageButton使用源图像调整大小

时间:2016-05-28 07:06:02

标签: java android android-imagebutton

我的ImageButton出现问题,因为它似乎与源图像一起调整大小。这是非常有问题的,因为我使用具有相同加权TableRows的TableLayout来实现统一的网格布局,但出于某种原因,特定的ImageButton正在使用图像调整自身大小并使整个行看起来比其他行更大,即使它们都有相同的布局重量。

空src: https://gyazo.com/b50ab6d7afb6608db0505d701a2a40c9

使用src,adjustViewBounds = true https://gyazo.com/e2a2dae581d1fae4503b6e130ced776d

使用src,adjustViewBounds = false https://gyazo.com/2623f08fcffea586d5b7917332ae7291

XML标记:

<ImageButton
                    android:id="@+id/stat_analyze"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:background="@drawable/sp2_calc_button"
                    android:onClick="btnClicked"
                    android:src="@drawable/statistics_white"
                    android:adjustViewBounds="true"
                    android:scaleType="fitCenter"/>

更新: 到目前为止,我已经尝试用更小的版本和Android矢量资源替换来替换源图像,但到目前为止,我仍然坚持使用相同的结果。我想这意味着唯一的方法就是锁定布局高度。我已尝试以编程方式在运行时设置高度,但我仍然得到相同的结果。

更新: 我再次尝试,将图像调整为固定值。然而,我注意到,这个特定按钮不会占据整个区域,直到它达到远远超出预期高度的高度。我的意思是,例如,我将其设置为60dp,即使按钮本身尚未与父高度匹配,整个行也将开始占用更多空间。我不知道为什么会这样,因为这是我第一次看到这种情况发生。有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过scaleType fitXY 属性:

android:scaleType="fitXY"