Android-CardView适配5.0、像素适配

用过CardView的可能遇到过适配问题。

在Android 5.0,API 21以上的版本才正常,在21以下边距会自动增加阴影的宽度。
如果不做适配,那么间距就会扩大,比如设置阴影高度为4dp,marginTop为3,最后效果就是控件的高度-4,marginTop为4+3=7dp。

参考百度的一些解决方案是给CardView设置cardPreventCornerOverlap属性。但是尝试并不能实现,于是只能通过比较笨的方式。

1、通过对不同版本设置不同的margin距离,
2、通过不同的分辨率
res

API 21及以上:

    <dimen name="dp_card_left_12">15.0dip</dimen>
    <dimen name="dp_card_top">7.5dip</dimen>
    <dimen name="dp_card_margin_15">15.0dip</dimen>
    <dimen name="dp_card_margin_10">10.0dip</dimen>
    <dimen name="dp_card_margin_5">5.0dip</dimen>
    <dimen name="dp_card_margin_7">7dip</dimen>
    <dimen name="dp_card_margin_8">8.0dip</dimen>
    <dimen name="dp_card_margin_0">0.0dip</dimen>
    <dimen name="dp_card_margin_4">4.0dip</dimen>
    <dimen name="dp_card_240">240.0dip</dimen>
    <dimen name="dp_card_104">105.0dip</dimen>
    <dimen name="dp_card_150">150.0dip</dimen>
    <dimen name="dp_card_180">180.0dip</dimen>
    <dimen name="dp_card_margin_item7">7.5dip</dimen>
    <dimen name="dp_card_margin_item15">15.0dip</dimen>
    <dimen name="px_card_170">85.0dip</dimen>

API 21以下

    <dimen name="dp_card_margin_15">11.0dip</dimen>
    <dimen name="dp_card_margin_10">6.0dip</dimen>
    <dimen name="dp_card_margin_5">1.0dip</dimen>
    <dimen name="dp_card_margin_7">3.5dip</dimen>
    <dimen name="dp_card_margin_8">4.0dip</dimen>
    <dimen name="dp_card_margin_0">-4.0dip</dimen>
    <dimen name="dp_card_margin_4">0.0dip</dimen>
    <dimen name="dp_card_240">244.0dip</dimen>
    <dimen name="dp_card_104">108.0dip</dimen>
    <dimen name="dp_card_150">154.0dip</dimen>
    <dimen name="px_card_170">89.0dip</dimen>
    <dimen name="dp_card_180">188.0dip</dimen>
    <dimen name="dp_card_margin_item7">2.0dip</dimen>
    <dimen name="dp_card_margin_item15">9.0dip</dimen>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值