我在Android上做TicTacToe。单击ImageButton时,显示应用程序的图像会放大组件,而不考虑按钮的大小。
我使用了属性android:scaleType="fitCenter"
(几乎fitXY
,centerInside
,fitCenter
,fitStart
)来尝试将图像放入组件内部,但它没有工作。
这是我的ImageButton的XML
代码的一部分:
<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虚拟设备上运行游戏并且它会出现同样的问题)。
我会感谢任何帮助来解决我的问题。感谢。
答案 0 :(得分:1)
如果线性布局的方向是水平的,那么在为其子设置权重时,应设置其width =“0dp”,垂直方向height = 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>
希望这会对你有所帮助。
答案 1 :(得分:0)
据我所知,你无法使图像按钮中心的图像适合...你所拥有的选项位于文本的顶部,文本的底部,左侧和右侧... < / p>
我建议您切换到ImageView
而不是图像按钮...并为其创建一个样式,使其具有与按钮相同的效果。
其他选项是通过内部GridView
和ImageView
进行,但这是更多不必要的工作......
答案 2 :(得分:0)
您需要使用android:scaleType="fitXY"
答案 3 :(得分:0)
您可以设置背景图像并设置高度和宽度。