如何将图像绑定到 ImageButton 尺寸?

How to bind image to ImageButton dimensions?

我在将大图像插入作为 GridLayout 子项的 ImageButtons 时遇到问题...

我正在尝试使用 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() 都是 return 0(可能是因为按钮没有定义的宽度和身高)。 有没有办法让我的图像适合按钮大小而不扩展按钮本身?

您似乎没有在图像按钮上设置宽度和高度。根据需要调整宽度或高度。

尝试

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