Android 自定义按钮button 加图片和两行文字

Android 自定义按钮button 加图片和两行文字

先上效果图

在这里插入图片描述
首先在drawable里建四个文件

在这里插入图片描述

1.button.xml

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--点击背景-->
    <item android:state_pressed="true">
        <shape>
            <!--色值-->
            <solid android:color="#e79429" />
            <!--圆角-->
            <corners android:radius="10dp" />
        </shape>
    </item>
    <!--默认背景-->
    <item>
        <shape>
            <solid android:color="#f6aa3e" />
            <corners android:radius="10dp" />
        </shape>
    </item>
</selector>

button_anothor.xmlbutton.xml差不多,换个颜色就行。
这两个文件主要是设计按钮的背景颜色点击后的变化按钮的四个角变圆

2.button_pic.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item >
        <layer-list   xmlns:android="http://schemas.android.com/apk/res/android">
            <item  android:width="50dp" android:height="50dp" android:drawable="@drawable/catalogue"/>
        </layer-list>
    </item>
</selector>

button_pic_another.xml照抄上面,改一下图片就行。
这两个文件主要是设计按钮上的图片,修改一下图的尺寸。

下面是应用的代码:

   <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <Button
                android:id="@+id/one"
                android:layout_width="190dp"
                android:layout_height="100dp"
                android:layout_marginTop="10dp"
                android:layout_marginLeft="10dp"
                android:background="@drawable/button"
                android:drawableLeft="@drawable/button_pic"
                android:paddingBottom="8dp"
                android:paddingLeft="25dp"
                android:paddingRight="25dp"
                android:paddingTop="8dp"
                android:text="分类\n\n catalog"
                android:textColor="@color/white"
                android:textSize="18sp" />
            <Button
                android:id="@+id/two"
                android:layout_width="190dp"
                android:layout_height="100dp"
                android:layout_marginTop="10dp"
                android:layout_marginLeft="10dp"
                android:background="@drawable/button_anothor"
                android:drawableLeft="@drawable/button_pic_anothor"
                android:paddingBottom="8dp"
                android:paddingLeft="25dp"
                android:paddingRight="25dp"
                android:paddingTop="8dp"
                android:text="文章\n\n article"
                android:textColor="@color/white"
                android:textSize="18sp" />
        </LinearLayout>

上面代码中文字那块用 \n换行实现了两行的效果
其中color/white是

 <color name="white">#FFFFFF</color>

这样就实现了上图的效果。

猜你喜欢

转载自blog.csdn.net/su_1998/article/details/111152184