Android 改变 Material elevation 阴影颜色

新手上路,请多包涵

是否可以更改 xml elevation 属性产生的阴影颜色?我希望通过代码动态更改阴影。

原文由 Broadwell 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

我知道这个问题很老了,可能作者不再需要答案了。我会把它留在这里,以便其他人可以找到它。

Lollipop 的高度系统不支持彩色阴影。

但是,如果您需要彩色阴影,可以使用 Carbon 来获得它们。它是 Material Design 的一种支持库,在最新版本中有一个选项可以更改阴影颜色。 Behance 上有大量具有彩色阴影的漂亮设计,我认为尽管 Android 中缺少此类功能,但拥有它们会很好。重要的是要注意, 所有 Android 版本都会模拟彩色阴影,在 5.0+ 上也是如此。

https://github.com/ZieIony/Carbon

下面的图片和代码可以在 Carbon 的示例中找到。

在此处输入图像描述

代码:

 <carbon.widget.LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <carbon.widget.Button
        android:layout_width="56dp"
        android:layout_height="56dp"
        android:layout_margin="@dimen/carbon_padding"
        android:background="#ffffff"
        app:carbon_cornerRadius="2dp"
        app:carbon_elevation="8dp"
        app:carbon_elevationShadowColor="@color/carbon_red_700"/>

</carbon.widget.LinearLayout>

“卡片视图”:

 <carbon.widget.LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <carbon.widget.LinearLayout
        android:layout_width="match_parent"
        android:layout_height="160dp"
        android:layout_margin="@dimen/carbon_margin"
        android:background="#ffffff"
        app:carbon_cornerRadius="2dp"
        app:carbon_elevation="8dp"
        app:carbon_elevationShadowColor="@color/carbon_red_700">

        <carbon.widget.ImageView
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:src="@drawable/test_image"/>

        <carbon.widget.TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="test text"/>
    </carbon.widget.LinearLayout>

</carbon.widget.LinearLayout>

原文由 Zielony 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题