Android CardView填充和minHeight

时间:2014-10-18 13:00:43

标签: android android-support-library android-cardview

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

以前的版本:

compile 'com.android.support:cardview-v7:21.0.0-rc1@aar'

当前版本:

compile 'com.android.support:cardview-v7:21.0.0@aar'

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

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

<android.support.v7.widget.CardView
    android:padding="0dp"
    ...

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

2 个答案:

答案 0 :(得分: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的孩子之间填充。

答案 1 :(得分:0)

我遇到了类似的问题,我设法解决了这个问题:

<androidx.cardview.widget.CardView 
   xmlns:android="http://schemas.android.com/apk/res/android" 
   xmlns:app="http://schemas.android.com/apk/res-auto" 
   android:layout_width="match_parent" 
   android:layout_height="wrap_content" 
   android:layout_marginHorizontal="@dimen/space_small" 
   app:contentPadding="@dimen/space_small" 
   app:cardCornerRadius="@dimen/space_mirror" 
   app:cardElevation="2dp" 
   app:cardUseCompatPadding="true" >

   <androidx.constraintlayout.widget.ConstraintLayout 
        android:id="@+id/items_wrapper" 
        android:minHeight="80dp" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent">
         
     .....

   </androidx.constraintlayout.widget.ConstraintLayout> 
</androidx.cardview.widget.CardView>