适合ImageButton上的图像

时间:2014-10-03 05:58:24

标签: java android android-imagebutton

我在Android上做TicTacToe。单击ImageButton时,显示应用程序的图像会放大组件,而不考虑按钮的大小。

TicTacToe

我使用了属性android:scaleType="fitCenter"(几乎fitXYcenterInsidefitCenterfitStart)来尝试将图像放入组件内部,但它没有工作。

这是我的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虚拟设备上运行游戏并且它会出现同样的问题)。

我会感谢任何帮助来解决我的问题。感谢。

4 个答案:

答案 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而不是图像按钮...并为其创建一个样式,使其具有与按钮相同的效果。

其他选项是通过内部GridViewImageView进行,但这是更多不必要的工作......

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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