2016-05-28 3 views
0

У меня проблема с моим ImageButton, потому что он, похоже, изменяет размер вместе с исходным изображением. Это довольно проблематично, потому что я использую TableLayout с одинаково взвешенными TableRows для достижения равномерной схемы сетки, но по какой-то причине этот конкретный ImageButton изменяет размер изображения и делает эту целую строку более крупной, чем другие, даже если все они имеют такой же вес макета.Предотвращение изменения размера изображения с исходным изображением

пустой ЦСИ: https://gyazo.com/b50ab6d7afb6608db0505d701a2a40c9

с СРК, adjustViewBounds = истинный https://gyazo.com/e2a2dae581d1fae4503b6e130ced776d

с СРК, adjustViewBounds = ложь https://gyazo.com/2623f08fcffea586d5b7917332ae7291

XML Tag:

<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"/> 

Обновление: До сих пор я пытался заменить исходное изображение, которое представляет собой png с меньшей версией и с заменой ресурса векторного андроида, но до сих пор я все еще придерживался тех же результатов. Думаю, это означает, что единственный способ сделать это - заблокировать высоту макета. Я пробовал программно устанавливать высоту во время выполнения, но я все равно получаю тот же результат.

Обновление: Я попробовал еще раз, изменив размер изображения на фиксированное значение. Я заметил, однако, что эта конкретная кнопка не занимает всю область, пока она не достигнет высоты, довольно далеко выходящей за пределы предполагаемой высоты. Я имею в виду, например, что я установил его в 60dp, вся строка уже начнет занимать больше места, даже если сама кнопка еще не соответствует родительской высоте. Я не знаю, почему это происходит, поскольку это первый раз, когда я это видел. Может кто-то помочь мне с этим?

ответ

0

Вы пробовали scaleTypefitXY атрибут:

android:scaleType="fitXY" 
+0

Да, у меня есть, и это приводит к тому же результату. – JavaFanatic

+0

Попробуйте установить высоту с некоторым статическим значением, например 70dp вместо match_parent. –

+0

Мне нужно это как match_parent, хотя я хочу, чтобы он поддерживал равномерную высоту. – JavaFanatic

Смежные вопросы