如何在按钮中显示图像?

时间:2015-01-28 11:51:32

标签: java android 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。 在这个按钮中,我想要一个背景颜色,文本中心和按钮右侧的图像。

因此,使用此代码,我看不到任何图片。

我表明: enter image description here

但我想要这个: enter image description here

7 个答案:

答案 0 :(得分:4)

使用现有代码,您只需使用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以修改图标的放置位置。

答案 1 :(得分:0)

你必须拍这样的背景图像。并将此图像设置为背景。

答案 2 :(得分:0)

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

<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

答案 3 :(得分:0)

使用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>

答案 4 :(得分:0)

使用按钮本身的属性

android:drawableRight="@drawable/tasto_login"

这会将图像添加到您的文字右侧。

答案 5 :(得分:0)

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

答案 6 :(得分:0)

只需更换android:icon =&#34; @ drawable / tasto_login&#34;用android:drawableRight =&#34; @ drawable / tasto_login&#34; 并使用android:drawablePadding

设置填充