Android CardView填充和minHeight

tom*_*ozb 1 android android-support-library android-cardview

今天我更新了项目中的支持​​依赖项,我发现了一些新问题CardView.

以前的版本:

compile 'com.android.support:cardview-v7:21.0.0-rc1@aar'
Run Code Online (Sandbox Code Playgroud)

当前版本:

compile 'com.android.support:cardview-v7:21.0.0@aar'
Run Code Online (Sandbox Code Playgroud)

首先,它看起来minHeight不再起作用了.其中一个解决方案是将任何ViewGroup内部放入卡中并设置最小高度,但对我来说它看起来像一个错误.

对我来说第二个问题是填充.随着新的库释放填充更大.如果你把一些卡片放在一起,那么它们之间的差距会很大.我已经尝试设置填充,0dp但看起来填充来自9.png文件.下面粘贴的代码不会改变任何内容.

<android.support.v7.widget.CardView
    android:padding="0dp"
    ...
Run Code Online (Sandbox Code Playgroud)

我也试过负值但也没有.有没有办法解决前Lollipop设备的这两个问题?

hru*_*872 7

关于填充内容,您可以在此处获得新信息:http://developer.android.com/reference/android/support/v7/widget/CardView.html

在L之前,CardView会在其内容中添加填充并为该区域绘制阴影.此填充量等于两侧的maxCardElevation +(1 - cos45)*cornerRadius,顶部和底部的maxCardElevation*1.5 +(1 - cos45)*cornerRadius.

由于填充用于偏移阴影的内容,因此无法在CardView上设置填充.相反,您可以在代码中使用XML中的内容填充属性或代码中的setContentPadding(int,int,int,int)来设置Card的边缘和CardView的子节点之间的填充.