Как привязать изображение к размерам ImageButton? - PullRequest
0 голосов
/ 01 июня 2019

У меня возникают проблемы при вставке большого изображения в ImageButtons, которые являются потомками GridLayout ...

Я пытаюсь построить доску крестики-нолики, используя GridLayout, которая содержит 9идентичные ImageButton с.Я использую изображения больше, чем сами кнопки, и каждый раз, когда я устанавливаю изображение для кнопки (используя setImageDrawable()), кнопки расширяются, чтобы соответствовать размеру изображения ... Моя доска выглядит так:

 <GridLayout
            android:id="@+id/grid_main"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:columnCount="3"
            android:rowCount="3">

            <ImageButton
                android:layout_rowWeight="1"
                android:layout_columnWeight="1"
                android:adjustViewBounds="true"
                android:scaleType="fitCenter"
                />

            <ImageButton
                ...
                />

            <ImageButton
                ...
                />

            [...]
   </GridLayout>

Я попытался настроить размер изображения в соответствии с размерами кнопок, но getWidth() и getMeasuredWidth() оба возвращают 0 (вероятно, потому что кнопки не имеют определенной высоты и высоты).Есть ли способ сделать мое изображение подходящим по размеру кнопки, не расширяя саму кнопку?

1 Ответ

0 голосов
/ 01 июня 2019

У вас, кажется, нет установленной ширины высоты на кнопках изображения. Отрегулируйте ширину или высоту по необходимости.

Попробуйте

<ImageButton
      android:layout_width="0dp"
      android:layout_height="0dp"
      android:layout_rowWeight="1"
      android:layout_columnWeight="1"
      android:adjustViewBounds="true"
      android:scaleType="fitCenter"
/>
...