将一个drawable放在一个带有背景但没有文本的Button中

时间:2014-02-11 19:42:03

标签: android button

我的Android应用中有几个按钮。它们看起来都像这样:

<Button
    android:id="@+id/button_1"
    android:drawableTop="@drawable/an_icon"
    android:background="@drawable/a_background"
    android:layout_width="size_dp"
    android:layout_height="size_dp">
</Button>

当然,我是Android开发人员的新手,但我无法弄清楚如何将drawable放在我的按钮中心。我已经尝试了不同的drawableLocations,边距和填充按钮及其容器,以及drawablePadding,但我似乎无法完成它。有没有办法将drawable放在中心而不放弃另一个View的Button?

3 个答案:

答案 0 :(得分:21)

最简单的解决方案是使用ImageButton小部件:

<ImageButton
    (...)
    android:background="@drawable/a_background"
    android:src="@drawable/an_icon"
    />

答案 1 :(得分:9)

  

有没有办法让drawable居中而不放弃Button

所以你可以使用ImageView如下所示(背景和可绘制):(所以不需要使用Button)

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/an_icon"
    android:background="@drawable/a_background" />

OnClick的{​​{1}}:

ImageView

答案 2 :(得分:2)

试试这个:

  <Button
        android:id="@+id/button_1"
        android:drawableTop="@drawable/an_icon"
        android:background="@drawable/a_background"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="151dp">
    </Button>