繁体   English   中英

如何在矩形可绘制对象上添加顶部阴影

[英]How to add top shadow on rectangle drawable

我有一个只需要显示顶部阴影的矩形可绘制对象,我不能使用高度,因为它会在所有组件中放置阴影,而我只需要在此可绘制对象顶部放置一个阴影

我需要的

在此处输入图像描述

我目前拥有的

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/white" />
    <corners
        android:topLeftRadius="20dp"
        android:topRightRadius="20dp" />
</shape>

这会为视图绘制边框,但上面没有顶部阴影,而只是一个纯白色图像

解决这个问题的最直接的方法是创建一个 9-patch 阴影图像,然后将其与视图顶部对齐,但这种方法存在一些问题,比如无法使用角半径值,解决问题等。

另一种选择是生成视图的模糊图像(例如,使用 Renderscript / ScriptIntrinsicBlur),然后将其保存到 bitmap,并使用该图像作为阴影 - 尽管此选项有些麻烦并且性能成本很高。

另一种选择是正常使用高程,然后让这个视图一直对齐到屏幕底部,或者让另一个具有相同高程值的视图遮挡底部的阴影。

恐怕除此之外没有办法直接控制高程阴影的渲染方式,也没有办法访问直接绘制这个的 Android SDK 代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM