如何在Android Studio中实现参考图所示的边框效果

Android Studio实现目标样式边框方案
你可以通过以下两种常用方式快速实现对应边框效果,无需引入第三方库:
方案1:自定义Shape Drawable实现(全版本兼容)
- 在项目
res/drawable目录下新建XML资源文件,例如命名为target_border_bg.xml - 写入边框样式配置代码:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 控件内部填充色,可根据需求替换色值 --> <solid android:color="@android:color/white" /> <!-- 边框配置:调整width改边框粗细,修改color改边框颜色 --> <stroke android:width="1dp" android:color="#E2E2E2" /> <!-- 圆角配置:调整radius值匹配设计稿圆角大小 --> <corners android:radius="8dp" /> <!-- 可选:设置内容和边框的内边距 --> <padding android:left="12dp" android:top="10dp" android:right="12dp" android:bottom="10dp" /> </shape>
- 在需要添加边框的控件上,设置属性
android:background="@drawable/target_border_bg"即可生效。如果需要做点击态、选中态的边框样式切换,额外写一个selector类型的drawable引用不同状态的shape即可。
方案2:Material组件内置属性实现(无需额外Drawable文件)
如果你的项目已经接入Material Design依赖、主题继承自MaterialComponents系列主题,可以直接用控件内置属性配置,更方便维护:
- 容器类控件优先用
MaterialCardView,直接在布局中配置边框相关属性:
<com.google.android.material.card.MaterialCardView android:layout_width="match_parent" android:layout_height="wrap_content" app:cardBackgroundColor="@android:color/white" app:strokeWidth="1dp" app:strokeColor="#E2E2E2" app:cardCornerRadius="8dp" app:cardElevation="0dp"> <!-- 内部放置布局内容 --> </com.google.android.material.card.MaterialCardView>
- 如果是按钮、文本类控件,可以直接用
MaterialButton/MaterialTextView,通过app:strokeWidth、app:strokeColor、app:cornerRadius三个属性直接配置边框和圆角,不需要额外设置background。
调试时可以直接修改stroke宽度、颜色、圆角半径三个参数,快速对齐你要的目标视觉效果。
内容的提问来源于stack exchange,提问作者Student's Corner
相关产品推荐
相关产品推荐

