【问题标题】:How to add top shadow on rectangle drawable如何在矩形可绘制对象上添加顶部阴影
【发布时间】:2021-03-30 18:40:29
【问题描述】:

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

我需要什么

我目前拥有的

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

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

【问题讨论】:

    标签: android android-layout kotlin android-drawable


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 1970-01-01
      • 2016-10-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 2013-01-04
      相关资源
      最近更新 更多