You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android Studio中实现示例图所示的Button按钮效果

Android Studio 实现自定义样式Button教程

这个按钮的核心效果为圆角渐变背景、两侧带图标、带轻微阴影,按以下步骤实现即可:

1. 引入依赖(使用MaterialButton更便捷)

首先确认Module级build.gradle中已引入Material组件库,可直接适配各类样式:

dependencies {
    implementation 'com.google.android.material:material:1.9.0'
    // 其余原有依赖保留即可
}

引入后同步项目即可生效。

2. 创建渐变背景Drawable

在res/drawable目录下新建bg_gradient_button.xml,写入如下代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!-- 圆角大小,可根据需求调整 -->
    <corners android:radius="28dp" />
    <!-- 渐变色配置,颜色值可对照参考图自行调整 -->
    <gradient
        android:angle="0"
        android:startColor="#4A6CF7"
        android:endColor="#8B5CF6"
        android:type="linear" />
    <!-- 内边距,避免文字和图标贴边 -->
    <padding
        android:vertical="12dp"
        android:horizontal="16dp" />
</shape>

3. 布局中引入Button组件

在对应页面的XML布局中添加MaterialButton控件,代码如下:

<com.google.android.material.button.MaterialButton
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginHorizontal="24dp"
    android:text="搜索附近地点"
    android:textColor="@color/white"
    android:textSize="16sp"
    android:background="@drawable/bg_gradient_button"
    <!-- 左侧图标配置,图标可自行导入矢量图到项目 -->
    app:icon="@drawable/ic_search"
    app:iconTint="@color/white"
    app:iconPadding="12dp"
    <!-- 右侧图标配置 -->
    app:endIcon="@drawable/ic_arrow_right"
    app:endIconTint="@color/white"
    <!-- 阴影效果配置 -->
    app:elevation="4dp"
    app:strokeWidth="0dp" />

4. 可选:添加点击状态效果

如果需要按下的反馈效果,在res/drawable下新建bg_button_selector.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <!-- 按下状态的背景,可适当调暗渐变色 -->
        <shape android:shape="rectangle">
            <corners android:radius="28dp" />
            <gradient
                android:angle="0"
                android:startColor="#3B57D6"
                android:endColor="#7C3AED" />
            <padding
                android:vertical="12dp"
                android:horizontal="16dp" />
        </shape>
    </item>
    <item android:drawable="@drawable/bg_gradient_button" />
</selector>

之后把Button的background属性换成@drawable/bg_button_selector即可。

内容的提问来源于stack exchange,提问作者Muhaimin Ab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:45:04