Android实现圆角按钮、文字阴影按钮

768 阅读1分钟

效果图:

0537b6afbecd5d5ec3108d0556f04330.gif

如果要实现圆角图片,并变色须在drawable中配置背景文件如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true">
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">
            <!-- 圆角深红色按钮 -->
            <solid android:color="@color/RED"/>
            <corners android:radius="15dip"/>
        </shape>
    </item>

    <item android:state_pressed="false">
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">
            <!-- 圆角红色按钮 -->
            <solid android:color="@color/PURPLE"/>
            <corners android:radius="15dip"/>
        </shape>
    </item>
</selector>

三个按钮整体布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <!--文字带阴影的按钮-->
    <!--阴影模糊程度:android:shadowRadius="5"-->
    <!--阴影与文字的距离:android:shadowDx="20"-->
    <!--android:shadowDy="20"-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="文字带阴影的按钮"
        android:textSize="20pt"
        android:shadowColor="#aa5"
        android:shadowRadius="5"
        android:shadowDx="20"
        android:shadowDy="20"/>
    <!--普通文字按钮-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#836622"
        android:text="普通按钮"
        android:textSize="20pt"/>
    <!--带文字的图片按钮-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button_selector"
        android:textSize="20px"
        android:text="带文字的按钮"/>
</LinearLayout>

颜色RED和PURPLE的宏定义:

 <color name="RED" >#ff0000</color>
    <color name="PURPLE" >#9a32cd</color>

相关项目实战视频

【2021年B站最全系列Android项目实战】10个Android项目大合集 强烈建议收藏~高级UI/灵动的锦鲤/性能优化/音视频开发实战学完这一套直接进大厂