簡介
Cardview,是在 Android 5.0 (Lollipop) 中引入的是一個 UI 組件。 其繼承於FrameLayout,其最主要的功能是作爲父佈局,爲其包裹的子View 添加圓角效果或者陰影效果。
重要API
cardview 重要屬性的含義
重要屬性
cardCornerRadius
控制Cardview 圓角的半徑(可分別控制4個角)
cardElevation
通過控制Cardview Z軸的高度調整外部四周的陰影大小
contentPadding
控制 Cardview 和其包裹的子View 四邊的距離(可分別控制4條邊間距)
cardBackgroundColor
控制填充contentPadding的背景顏色
適配低版本屬性
cardMaxElevation
避免在陰影大小發生變化時移動視圖,陰影大小限制
兼容性說明:
CardView 在 Lollipop (API level 21) 以下的設備中,他們的顯示差異還是很大的:
CardView 進行陰影顯示,會在外層新增填充的陰影圖。
CardView 不會裁剪其子View的圓角。
侷限:
1,CardView 在 >= API21 的版本上實現陰影效果也是通過 elevation 來實現的,最終的渲染是調用 native 方法進行的。在使用過程中發現這樣一個問題,在屏幕不同位置的 View 陰影的方向是不一樣的。它模擬的場景就是 光源的位置在屏幕中心的正上方,而陰影的表現由光源的位置決定,造成了陰影方向不一致。
2,默認的陰影顏色爲黑色,且無法更改。