Android 如何在同一按钮中对齐文本和图像

Android 如何在同一按钮中对齐文本和图像,android,Android,如何将文本和图像与同一按钮对齐?我想像这样做: 但是我的按钮看起来像这样,文本与图像重叠: 下面是我的代码。如何在同一按钮中的文本和图像之间留出空间 <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:layout_weight="0" androi

如何将文本和图像与同一按钮对齐?我想像这样做:

但是我的按钮看起来像这样,文本与图像重叠:

下面是我的代码。如何在同一按钮中的文本和图像之间留出空间

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:layout_weight="0"
    android:weightSum="1"
    android:orientation="horizontal" >

       <Button android:id="@+id/btnUtilitybillpayments"
            style="?android:attr/buttonStyleSmall"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:drawableLeft="@drawable/handshake"
            android:layout_marginRight="55dip"
            android:layout_marginLeft="55dip"
            android:drawablePadding="-25dp"
            android:paddingLeft="10dip"
            android:paddingRight="50dip"
            android:layout_marginTop="10dip"
            android:background="@drawable/curvedplanebutton"
            android:textColor="@drawable/button_text_color"
            android:text="Utility Bills Payment"/>
</LinearLayout>

我想你的按钮太复杂了

只要使用下面的代码,让我知道发生了什么

<Button   android:id="@+id/btnUtilitybillpayments"
             style="?android:attr/buttonStyleSmall"
             android:layout_height="wrap_content"
             android:layout_width="0dp"
             android:layout_weight="1"
             android:layout_marginRight="55dip"
             android:layout_marginLeft="55dip"
             android:drawableLeft="@drawable/handshake"
             android:layout_marginTop="10dip"
             android:gravity="left"
             android:paddingLeft="20dip"
             android:background="@drawable/curvedplanebutton"
             android:textColor="@drawable/button_text_color"
             android:text="Utility Bills Payment"/>
试试这个

<Button
 android:id="@+id/button1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:drawableLeft="@android:drawable/btn_star_big_on"
 android:text="Drawable left">
Button>

For more info go to this link

按钮>
有关更多信息,请访问此链接
像这样的事情

        <Button
            android:id="@+id/btnUtilitybillpayments"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="wrap_content"

            android:layout_weight="1"
            android:background="@drawable/curvedplanebutton"
            android:drawableLeft="@drawable/handshake"
            android:gravity="left|center"
            android:text="Utility Bills Payment"
            android:textColor="@drawable/button_text_color" />

更合适的方法是将按钮制作为9patch图像。这样,您可以通过修补右侧和底部来定义文本的位置。这样复杂的按钮就不需要了

你可以到这里了解更多信息-


出现这种情况是因为您正在给android:layout\u marginRight=“55dip”。请删除
android:layout\u marginRight=“55dip”
或从右侧最小化边距
android:layout\u marginRight=“15dip”
如果您使用的是静态文本,那么您也可以将图像与预定义文本对齐,这样您就不需要对齐纹理代码删除图像左侧的空间。请看,这只会在图像和tet之间留出空间,但图像左侧的空间被删除。您还可以设置按钮的重力,否则文本将出现在中间,可在最左边绘制。现在将
android:drawablePadding=“20dip”
android:paddingLeft=“20dip”
。错误:在“android”软件包中未找到属性“drawablePaddingLeft”的资源标识符。如果两个具有不同文本的按钮显示不同的对齐方式,则代码仅适用于1个Butto。如图所示,是的,因此重力会使按钮内的内容相应排列。
        <Button
            android:id="@+id/btnUtilitybillpayments"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="wrap_content"

            android:layout_weight="1"
            android:background="@drawable/curvedplanebutton"
            android:drawableLeft="@drawable/handshake"
            android:gravity="left|center"
            android:text="Utility Bills Payment"
            android:textColor="@drawable/button_text_color" />