如何在按钮中显示图像?

How to display an Image in Button?

我的 activity_login.xml 中有此代码。

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="25dp"
        android:background="#6cb42e"
        android:gravity="center"
        android:onClick="login"
        android:text="@string/login"
        android:icon="@drawable/tasto_login"
        android:textColor="#FFFFFF"
        android:textSize="20sp" />

我想在按钮右侧显示图像 tasto_login.png。 在这个按钮中,我想要按钮右侧的背景颜色、文本中心和图像。

所以使用这段代码,我没有看到任何图像。

我展示一下:

但我想要这个:

您必须像这样拍摄背景图片 this.and 将此图片设置为背景。

使用现有代码,您只需使用 drawableRight,例如:

  <Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="25dp"
    android:background="#6cb42e"
    android:gravity="center"
    android:onClick="login"
    android:text="@string/login"
    android:drawableRight="@drawable/tasto_login"
    android:textColor="#FFFFFF"
    android:textSize="20sp" />  

添加paddingRight修改图标放置位置。

您可以将线性布局用作按钮:

<LinearLayout
                android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="25dp"
        android:background="#6cb42e"
        android:gravity="center"
        android:onClick="login"
android:orientation="horizontal"
       >

<Textview


/>

<ImageView

/>

</LinearLayout

使用 Linearlayout 和 TextView 创建自定义按钮:

<LinearLayout 
    android:id="@+id/customButton1"
    style="@android:style/Widget.Button"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="25dp"
    android:background="#6cb42e"
    android:gravity="center"
    android:onClick="login">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/tasto_login"
        android:text="@string/login"
        android:gravity="center"
        android:textColor="#FFFFFF"
        android:drawablePadding="5dp"
        android:textSize="20sp" />

</LinearLayout>

使用按钮本身的属性作为

android:drawableRight="@drawable/tasto_login"

这会将图像添加到按钮中文本的右侧。

您可以使用 android:drawableRight xml 属性来指定图像。 您还可以使用 android:drawablePadding 和其他 padding/margin 属性将图像定位在按钮上。

只需将 android:icon="@drawable/tasto_login" 替换为 android:drawableRight="@drawable/tasto_login" 并使用 android:drawablePadding

设置填充