CardView的使用

銳湃發表於2015-12-08

卡片化是全新的Material風格設計中重要的組成部分之一,卡片設計適合重要資訊的展示,以及在list中作為一個包含有複雜操作的item使用。

CardView繼承於Framelayout,比FrameLayout多了3個重要的屬性:

card_view:cardElevation

card_view:cardCornerRadius

card_view:cardBackgroundColor


card_view:cardElevation,可以設定卡片的陰影,可以使CardView在z軸方向上有一種抬升的視覺效果,能給使用者一種這裡是重要資訊的視覺感受。對應程式碼裡的方法public void setCardElevation (float radius)

card_view:cardCornerRadius,顯然就是設定CardView的圓角了。對應程式碼裡的方法public void setRadius (float radius)

card_view:cardBackgroundColor,設定CardView的背景顏色,這個屬性是不會影響陰影card_view:cardElevation的效果。對應程式碼裡的方法public void setCardBackgroundColor (int color)


CardView常用屬性:

  • card_view:cardElevation 陰影的大小
  • card_view:cardMaxElevation 陰影最大高度
  • card_view:cardBackgroundColor 卡片的背景色
  • card_view:cardCornerRadius 卡片的圓角大小
  • card_view:contentPadding 卡片內容於邊距的間隔
    • card_view:contentPaddingBottom
    • card_view:contentPaddingTop
    • card_view:contentPaddingLeft
    • card_view:contentPaddingRight
    • card_view:contentPaddingStart
    • card_view:contentPaddingEnd
  • card_view:cardUseCompatPadding 設定內邊距,V21+的版本和之前的版本仍舊具有一樣的計算方式
  • card_view:cardPreventConrerOverlap 在V20和之前的版本中新增內邊距,這個屬性為了防止內容和邊角的重疊
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        card_view:cardBackgroundColor="#303069"
        card_view:cardCornerRadius="10dp"
        card_view:cardPreventCornerOverlap="true"
        card_view:cardUseCompatPadding="true"
        card_view:contentPadding="10dp">
        ...
</android.support.v7.widget.CardView>

注:在gradledependencies中新增`compile 'com.android.support:cardview-v7:21.+'`


示例

CardView繼承至FrameLayout類,可以在一個卡片佈局中一致性的顯示內容,卡片可以包含圓角和陰影。CardView是一個Layout,可以佈局其他View。


轉自:http://www.bkjia.com/Androidjc/934210.html

http://ju.outofmemory.cn/entry/109623


相關文章