当前位置:  开发笔记 > Android > 正文

CardView cardUseCompatPadding

如何解决《CardViewcardUseCompatPadding》经验,为你挑选了1个好方法。

我正在为Lollipop和早期版本开发Android应用程序.

我正在使用CardView(这个cardView没有任何孩子,它只是放在我的View后面)来创建阴影.

但是当它在前Lollipop设备上运行时会出现问题.

所以我将cardUseCompatPadding设置为true.我想知道我是否可以获得这个compat填充的值?

有没有我能找到价值的参考?



1> Jahnold..:

添加到CardView的compat填充取决于您设置的角的高度和半径.您可以在支持库中的RoundRectDrawableWithShadow类中找到实际计算.

您可以在运行时使用以下内容计算它:

    float elevation = cardView.getMaxCardElevation();
    float radius = cardView.getRadius();
    double cos45 = Math.cos(Math.toRadians(45));

    int horizontalPadding = (int) (elevation + (1 - cos45) * radius);
    int verticalPadding = (int) (elevation * 1.5 + (1 - cos45) * radius);

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有