在按钮内拟合图像

时间:2014-08-08 12:52:18

标签: android xml button

我的按钮的部分xml代码。

 <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1.1"
        android:orientation="vertical"
        android:weightSum="4" >

        <Button
            android:id="@+id/button3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="3"
            android:textSize="25sp"
            android:textStyle="bold" />

        <Button
            android:id="@+id/button6"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="6"
            android:textSize="25sp"
            android:textStyle="bold" />

        <Button
            android:id="@+id/button9"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="9"
            android:textSize="25sp"
            android:textStyle="bold" />

        <Button
            android:id="@+id/button12"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:drawableLeft="@drawable/bs2" />
    </LinearLayout>

enter image description here

这里的问题是你看到退格箭头(左箭头)不适合按钮我试图使.png文件更大(尝试48,64,80和120)也试过重力和layout_gravity没有得到任何结果。

基本上我希望箭头更宽,或者它应该在中间以获得良好的视觉效果。

所以我会喜欢任何有助于不弄乱布局的建议。

enter image description here

2 个答案:

答案 0 :(得分:0)

使用ImageButton代替按钮,并将箭头图像保留为按钮的来源

    <ImageButton
        android:id="@+id/id1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/arrow" />

答案 1 :(得分:0)

您可以使用Button

代替ImageButton

要将箭头置于中心,您应该使用android:scaleType="center"

已更新:

当您使用android:drawableLeft="@drawable/bs2"时,它将仅显示左侧。

如果你想使用带按钮的图像,你应该使用ImageButton,但为此你需要为所有按钮使用两个图像或通用样式。你可以通过以下方式实现。

尝试以下代码。

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="@drawable/background"
    android:contentDescription="@string/app_name"
    android:scaleType="center"
    android:src="@drawable/back" />

enter image description here