在 CardView 中使用影象作為背景(前棒棒糖裝置問題)

在 CardView 中使用“影象/顏色”作為背景時,邊緣可能會出現輕微的白色填充(如果預設卡片顏色為白色)。這是由於卡片檢視中的預設圓角造成的。以下是如何避免 Pre-lollipop 裝置中的邊距。

我們需要在 CardView 中使用屬性 card_view:cardPreventCornerOverlap="false"。1)。在 XML 中使用以下程式碼段。

<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    card_view:cardPreventCornerOverlap="false"
    android:layout_height="wrap_content"> 
      <ImageView
            android:id="@+id/row_wallet_redeem_img"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:adjustViewBounds="true"
            android:scaleType="centerCrop"
            android:src="@drawable/bg_image" />

</android.support.v7.widget.CardView>
  1. 像 Java 這樣的 cardView.setPreventCornerOverlap(false)

這樣做可以消除卡邊緣上不需要的填充。以下是與此實現相關的一些可視示例。

1 張 API 中帶有影象背景的卡片 (非常好) StackOverflow 文件

2 帶有影象背景的卡在 API 19 中沒有屬性 (注意影象周圍的填充) StackOverflow 文件

3 帶有影象背景的固定卡,帶有屬性 cardView.setPreventCornerOverlap(false)API 19 (現已修復) StackOverflow 文件

也瞭解這對文件這裡
原來 SOF 後這裡