【问题标题】:Android 4.4 remove shadow from CardViewAndroid 4.4 从 CardView 中删除阴影
【发布时间】:2016-08-06 02:47:53
【问题描述】:

我试图从 Cardview 中移除阴影。
我在android v4.4.2上使用了android support v7 Cardview

我的布局外观:

<android.support.v7.widget.CardView
    android:id="@+id/cardContainer"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@null"
    card_view:cardBackgroundColor="@color/transparent"
    card_view:cardCornerRadius="0dp"
    card_view:cardElevation="0dp"
    card_view:cardPreventCornerOverlap="false"
    card_view:contentPadding="0dp">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <include layout="@layout/include_profile_header" />

        <include layout="@layout/include_profile_footer" />

    </RelativeLayout>

</android.support.v7.widget.CardView>

如你所见,我使用过:

  card_view:cardElevation="0dp" 

到目前为止尝试过:

android:background="@null"  

但您仍然可以在图像中看到我附加的顶部阴影。

【问题讨论】:

  • 尝试删除 cardBackgroundColor @motis10
  • android:cardBackgroundColor 不存在并且 card_view:cardBackgroundColor 也不存在
  • card_view:cardBackgroundColor="@color/transparent" 删除这个
  • 但比它添加到我的布局白色背景。正如你在图片中看到的,我希望它是透明的。

标签: android android-layout layout android-support-library


【解决方案1】:

只需将以下代码添加到cardview标签

app:cardElevation="0dp"

别忘了添加

xmlns:app="http://schemas.android.com/apk/res-auto"

更新

也可以试试在cardview下面的代码

app:cardElevation="0dp"
app:cardMaxElevation="0dp"
app:cardCornerRadius="1dp"
app:cardUseCompatPadding="true"
app:cardPreventCornerOverlap="false"
android:background="@null"

app:cardCornerRadius 应该大于 0(>0) 否则抛出异常

我正在使用 API 28 支持库

实现'com.android.support:cardview-v7:28.0.0'

【讨论】:

    【解决方案2】:

    在 4.4 中,您无法从卡片视图中移除阴影。海拔低于 5.0 的任何东西都不起作用,因此 4.4 中的所有卡片视图都是带有阴影的图像

    要创建带有阴影的卡片,请使用 card_view:cardElevation 属性。 CardView 在 Android 上使用真实的高程和动态阴影 5.0(API 级别 21)及更高版本,并回退到早期版本的程序化影子实现。有关详细信息,请参阅 保持兼容性。

    http://developer.android.com/training/material/lists-cards.html#CardView

    【讨论】:

    • 这意味着我需要将布局 CardView 更改为另一个视图组并在需要时手动添加阴影?
    • 但是,它听起来很奇怪。你说5.0之前的cardview不使用cardElevation,maxcardElevation,cardPreventCornerOverlap,
    • @motis10 我不明白你在说什么
    • 海拔在 5.0 之前不存在,那么如何使用
    • 如果你想在棒棒糖之前看到不同的高度,你需要创建你自己想要的图像
    【解决方案3】:

    我刚刚通过使用相对布局解决了这个问题。只需将 CardView 值更改为相对布局,您将获得相同的结果,但没有阴影

    【讨论】:

      猜你喜欢
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-09
      • 1970-01-01
      • 2018-08-11
      • 1970-01-01
      相关资源
      最近更新 更多