cardview设置边框
时间: 2023-08-29 07:06:20 浏览: 74
想在 CardView 上添加边框,可以通过以下两种方式来实现:
1. 通过在 CardView 的外部包裹一个带边框的布局来实现
```xml
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:background="@drawable/cardview_border">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp">
<!-- CardView 内容部分 -->
</android.support.v7.widget.CardView>
</FrameLayout>
```
在上面的代码中,我们在 CardView 的外部包裹了一个带边框的 FrameLayout,该 FrameLayout 的背景是一个自定义的 drawable,具体实现可以参考以下代码:
```xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="#CCCCCC" />
<corners android:radius="4dp" />
</shape>
```
其中,`stroke` 标签用于设置边框的宽度和颜色,`corners` 标签用于设置圆角的半径。
2. 直接通过 CardView 的属性来实现
```xml
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
app:cardBackgroundColor="#FFFFFF"
app:cardElevation="8dp"
app:cardCornerRadius="4dp"
app:cardUseCompatPadding="true"
app:cardPreventCornerOverlap="false"
app:contentPadding="8dp"
app:contentPaddingTop="12dp"
app:contentPaddingBottom="12dp"
app:contentPaddingLeft="16dp"
app:contentPaddingRight="16dp"
app:cardMaxElevation="12dp"
app:cardUseCompatPadding="true"
app:cardBackgroundColor="#FFFFFF"
app:cardBorderColor="#CCCCCC"
app:cardBorderWidth="1dp">
<!-- CardView 内容部分 -->
</android.support.v7.widget.CardView>
```
在上面的代码中,我们直接通过 CardView 的属性来设置边框的宽度、颜色和圆角大小等,具体属性的含义可以参考注释。需要注意的是,如果你使用的是 `android.support.v7.widget.CardView`,则需要设置 `app:cardUseCompatPadding="true"` 属性来保持与原生 CardView 的兼容性。