1

我在 Android 中做井字游戏。当我单击 ImageButton 时,显示应用程序的图像会放大组件,而不考虑按钮的大小。

井字游戏

我使用属性android:scaleType="fitCenter"(几乎fitXY, centerInside, fitCenter, fitStart)来尝试将图像放入组件中,但它不起作用。

这是XML我的 ImageButton 代码的一部分:

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center" >

        <ImageButton
            android:id="@+id/btn1"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:layout_weight="0.246"
            android:onClick="onDonGato"
            android:text="" />

        <ImageButton
            android:id="@+id/btn2"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="0.246"
            android:onClick="onDonGato"
            android:scaleType="fitCenter"
            android:text="" />

        <ImageButton
            android:id="@+id/btn3"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="0.246"
            android:onClick="onDonGato"
            android:scaleType="fitCenter"
            android:text="" />

 </LinearLayout>

我不考虑运行应用程序的 Android 设备(因为我在 Android 虚拟设备上运行游戏并且它发生了同样的问题)。

我将不胜感激任何帮助解决我的问题。谢谢。

4

4 回答 4

1

如果线性布局的方向是水平的,那么在给它的子元素设置权重时,你应该设置它的宽度=“0dp”,垂直方向的高度=0dp。并使用 fitXY。

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center" 
android:orientation="horizontal">

        <ImageButton
            android:id="@+id/btn1"
            android:layout_width="0dp"
            android:layout_height="100dp"
            android:layout_weight="0.246"
            android:onClick="onDonGato"
            android:scaleType="fitXY"
            android:text="" />

        <ImageButton
            android:id="@+id/btn2"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.246"
            android:onClick="onDonGato"
            android:scaleType="fitXY"
            android:text="" />

        <ImageButton
            android:id="@+id/btn3"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.246"
            android:onClick="onDonGato"
            android:scaleType="fitXY"
            android:text="" />

 </LinearLayout> 

希望这会帮助你。

于 2014-10-03T06:12:48.450 回答
0

您可以设置背景图像并设置高度和宽度。

于 2014-10-03T06:08:54.150 回答
0

据我所知,您无法将图像放在图像按钮的中心位置...您拥有的选项位于文本顶部、底部以及文本的左侧和右侧...

我建议您切换到ImageView而不是图像按钮...并为其创建一种与按钮具有相同效果的样式。

其他选择是通过GridViewwith 和ImageViewinside 来完成,但这是更多不必要的工作......

于 2014-10-03T06:06:12.267 回答
0

你需要使用android:scaleType="fitXY"

于 2014-10-03T06:08:09.473 回答