CardView

  • 介绍
    由appcompat-v7库提供,实际上,CardView也是一个FrameLayout,但是额为的提供了圆角和阴影等效果。

    compile 'com.android.support:cardview-v7:25.1.0'
    
  • 使用
    简单使用:

    <android.support.v7.widget.CardView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:cardCornerRadius="5dp"
        android:elevation="5dp"
        >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="   Hello World   " />
    </android.support.v7.widget.CardView>
    

这就是简单使用,使用cardview包裹住需要的控件就可以了,它是一个布局,
类似与Framelayout,你想展示这个效果的都可以放在里面。但是一般还是嵌套一个Linearlayout等,因为其没有方向。
```

属性介绍
```

app:cardBackgroundColor这是设置背景颜色
app:cardCornerRadius这是设置圆角大小 ,数值越大,圆角的弧度也就越大。
app:cardElevation这是设置z轴的阴影 ,指定卡片的高度,高度值越大,投影范围越大,但是投影效果越淡。
app:cardMaxElevation这是设置z轴的最大高度值,方便协调者布局。
app:cardUseCompatPadding是否使用CompatPadding
app:cardPreventCornerOverlap是否使用PreventCornerOverlap
app:contentPadding 设置内容的padding
app:contentPaddingLeft 设置内容的左padding
app:contentPaddingTop 设置内容的上padding
app:contentPaddingRight 设置内容的右padding
app:contentPaddingBottom 设置内容的底padding
```
在代码中设置

       cardView = (CardView)findViewById(R.id.cardView);
       cardView.setRadius(8);//设置图片圆角的半径大小
       cardView.setCardElevation(8);//设置阴影部分大小
       cardView.setContentPadding(5,5,5,5);//设置图片距离阴影大小
  • 特殊情况(注意不同 SDK 版本(低于 Lollipop 21)上的边距(Margin)效果)
     (1)Google 针对 SDK 21 以下的系统给 CardView 加入一个 Elevation 兼容
       (即 XML 中的 app:cardElevation 和 Java 代码中的 setCardElevation)。
        在低版本中设置了 CardElevation 之后 CardView 会自动留出空间供阴影
        显示,而 Lollipop 之后则需要手动设置 Margin 边距来预留空间:
        1、创建 /res/value 和 /res/value-v21 资源文件夹于项目对应 Module 目录下,
           前者放置旧版本/通用的资源文件(了解的可以跳过),后者放置 21 及更高
           SDK 版本的资源文件。
       2、在 value 内的 dimen.xml 创建一个 Dimension (<dimen> 属性),随便命
          个名(如 xxx_card_margin)并填入数值 0dp。
       3、接着在 value-v21 文件夹内的 dimen.xml 创建名字相同的 Dimension,
          并填入你期望的预留边距(一般和 CardElevation 阴影大小相同)
      4、最后,在你布局中的 CardView 中设置 android:layout_margin="@dimen/xxx_card_margin"
    

这样就可以兼容不同的版本了。


为你的card 添加点击效果
如果你是用了 AppCompat v7 支持库:
那么你可以直接给 CardView 加上 android:foreground="?attr/selectableItemBackground"
这个属性会在 Lollipop 上自动加上 Ripple 效果,在旧版本则是一个变深/变亮的效果。
如果你没使用这个支持库或者觉得这个效果在旧版本显得有点僵硬:
你可以尝试自定义一个 Drawable,和上一条一样根据不同 SDK 版本分别编写不同的效果


更多参考:http://www.androidchina.net/3754.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,001评论 25 707
  • Material Design中有一种很个性的设计概念:卡片式设计(Cards),Cards拥有自己独特的UI特征...
    小庄bb阅读 2,993评论 1 4
  • Material Design中有一种很个性的设计概念:卡片式设计(Cards),Cards拥有自己独特的UI特征...
    滴滴滴9527阅读 45,292评论 3 64
  • 施政報告:重點懶人包一貼睇晒 10月11日(三) 11:44 廣告可在 7 秒後略過 新一份施政報告已經發表,想知...
    香港未來阅读 199评论 0 0
  • 飞走吧,飞走吧 时光的鸟儿 谁也不能停下 你追寻永恒的翅膀。 在你身后 尽是昨日的灰烬 湮灭在时光的苍茫里 而你时...
    云中过客阅读 251评论 0 2