【问题标题】:Android CardView padding and minHeightAndroid CardView 内边距和 minHeight
【发布时间】:2014-10-18 13:00:42
【问题描述】:

今天我更新了项目中的支持​​依赖项,发现新的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"
    ...

我也尝试过使用负值,但也没有。有什么办法可以解决棒棒糖之前的设备的这两个问题?

【问题讨论】:

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


    【解决方案1】:

    关于填充的东西你有新的信息在这里:http://developer.android.com/reference/android/support/v7/widget/CardView.html

    在 L 之前,CardView 为其内容添加填充并绘制阴影 那个区域。此填充量等于 maxCardElevation + (1 - cos45) * 边上的cornerRadius 和 maxCardElevation * 1.5 + (1 - cos45) * 顶部和底部的角半径。

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

    【讨论】:

    • 你说得对,padding 是根据高程和圆角半径计算的。看起来我必须找到第 3 方卡片库,因为如果卡片周围没有大填充,我无法获得合适的阴影。
    • 或者直接使用card_view:cardUseCompatPadding="true"
    【解决方案2】:

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

    <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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      • 2014-05-02
      • 1970-01-01
      • 2015-10-20
      • 2020-10-04
      • 1970-01-01
      • 2017-09-17
      相关资源
      最近更新 更多