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

如何修改Material Design 3中MaterialButton的圆角半径?

Material Design 3 按钮圆角半径调整方法

不需要复杂配置,直接通过组件自带的圆角属性就能修改,分两种场景处理:

  • 仅修改单个按钮
    只需要在你现有的MaterialButton标签里加app:cornerRadius属性,直接引用MD3内置的小圆角尺寸token@dimen/m3_sys_shape_corner_small即可,这个值就对应你说的rounded small等级,不用自己硬编码dp数值,能自动适配不同屏幕密度和主题配置。
    修改后的完整布局代码:
    <com.google.android.material.button.MaterialButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:insetLeft="0dp"
            android:insetTop="0dp"
            android:insetRight="0dp"
            android:insetBottom="0dp"
            android:text="..."
            app:cornerRadius="@dimen/m3_sys_shape_corner_small" />
    
    记得确保布局根节点已经声明xmlns:app="http://schemas.android.com/apk/res-auto"命名空间,Android Studio新建布局时会自动添加,一般不需要手动处理。
  • 全局修改所有按钮圆角
    如果项目里所有按钮都要改成小圆角,不用每个布局单独加属性,直接在主题文件里覆盖按钮默认样式即可,打开res/values/themes.xml,在你的AppTheme样式下添加配置:
    <style name="AppTheme" parent="Theme.Material3.DayNight.NoActionBar">
        <!-- 保留你原有的其他主题配置项 -->
        <item name="materialButtonStyle">@style/SmallCornerButton</item>
    </style>
    
    <style name="SmallCornerButton" parent="Widget.Material3.Button">
        <item name="cornerRadius">@dimen/m3_sys_shape_corner_small</item>
    </style>
    

特殊情况处理:如果你之前给按钮设置过自定义shapeAppearance,cornerRadius属性会被shapeAppearance中的配置覆盖,此时直接在你自定义的shapeAppearance样式里将cornerSize的值设为@dimen/m3_sys_shape_corner_small即可生效。

官方关于MD3支持自定义按钮圆角的说明参考:
MD3官方圆角自定义说明

调整后实现的小圆角效果参考:
小圆角按钮目标效果

内容的提问来源于stack exchange,提问作者Taha Sami

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 11:27:21