我正在为Lollipop和早期版本开发Android应用程序.
我正在使用CardView(这个cardView没有任何孩子,它只是放在我的View后面)来创建阴影.
但是当它在前Lollipop设备上运行时会出现问题.
所以我将cardUseCompatPadding设置为true.我想知道我是否可以获得这个compat填充的值?
有没有我能找到价值的参考?
添加到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);