問題現象
- 設定
app:cardBackground 為自訂 shape 無效果。
- 內部
ImageView 上下出現不明空白區域。
解決方法
- 移除陰影/邊框:將
app:cardElevation="0dp" 並設 app:cardUseCompatPadding="false"。
- 移除內部間距:設
app:cardPreventCornerOverlap="false" 及 android:padding="0dp"。
- ImageView 縮放模式:加上
android:scaleType="centerCrop" 或 fitXY,避免留白。
- 父容器干擾:檢查外層
RecyclerView 或 LinearLayout 是否有 padding/margin。
範例 XML
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardElevation="0dp"
app:cardUseCompatPadding="false"
app:cardPreventCornerOverlap="false"
android:padding="0dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="150dp"
android:scaleType="centerCrop"
android:src="@drawable/your_image" />
</androidx.cardview.widget.CardView>