環境配置
一、在Eclipse的環境中配置同上篇文章,引入android.support.v7包進行使用。參照文章:RecyclerView的簡單使用。
二、在Android Studio中進行使用,我們需要只需要在Gradle中添加CardView包的依賴即可進行使用。
compile?'com.android.support:cardview-v7:21.0.+'
CardView是一個新增加的UI控件,我們先在代碼中定義一個CardView的變量,然后查看源碼看看這是個什么玩意。話說Android Studio中查看源碼特方便,比Eclipse強很多。源碼先:publicclassCardViewextendsFrameLayoutimplementsCardViewDelegate?{...}
從源碼看,CardView繼承FrameLayout,所以CardView是一個ViewGroup,我們可以在里面添加一些控件進行布局。既然CardView繼承FrameLayout,而且Android中早已有了FrameLayout布局,為什么還有使用CardView這個布局控件呢?我們先來看看官網對此類的注釋
A FrameLayoutwitharounded corner backgroundandshadow.
這個FrameLayout特殊點就是有rounded corner(圓角)和shadow(陰影),這個就是它的特殊之處,回首往日,我們需要自定義shape文件進行實現圓角和陰影的設計,現在google的大牛已經把它設計為CardView的屬性供我們設置進行使用。下面我們看看CardView新增了哪些屬性:
CardView_cardBackgroundColor 設置背景色
CardView_cardCornerRadius 設置圓角大小
CardView_cardElevation 設置z軸陰影
CardView_cardMaxElevation 設置z軸最大高度值
CardView_cardUseCompatPadding 是否使用CompadPadding
CardView_cardPreventCornerOverlap 是否使用PreventCornerOverlap
CardView_contentPadding 內容的padding
CardView_contentPaddingLeft 內容的左padding
CardView_contentPaddingTop 內容的上padding
CardView_contentPaddingRight 內容的右padding
CardView_contentPaddingBottom 內容的底padding
card_view:cardUseCompatPadding 設置內邊距,V21+的版本和之前的版本仍舊具有一樣的計算方式
card_view:cardPreventConrerOverlap 在V20和之前的版本中添加內邊距,這個屬性為了防止內容和邊角的重疊