You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android布局如何实现带弧形分隔线的线性渐变背景

解决方案

你的代码问题在于layer-list的item定位逻辑错误,且透明shape无法实现弧形分隔效果。正确的思路是:先设置全屏白色背景,再在底部叠加一个顶部带圆角的黑色矩形,这样就能形成顶部白、底部黑且中间有弧形过渡的效果。

修改后的背景drawable代码如下:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 底层:全屏白色背景 -->
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@android:color/white" />
        </shape>
    </item>

    <!-- 上层:底部黑色区域,顶部带圆角 -->
    <item
        android:top="50%"> <!-- 从屏幕垂直方向50%位置开始绘制,占据下半部分 -->
        <shape android:shape="rectangle">
            <solid android:color="#000000" />
            <!-- 仅设置顶部左右圆角,形成弧形分隔 -->
            <corners
                android:topLeftRadius="16dp"
                android:topRightRadius="16dp" />
        </shape>
    </item>
</layer-list>

代码说明:

  • 第一层是全屏白色背景,作为基础底色。
  • 第二层通过android:top="50%"指定绘制起始位置,自动占据屏幕下半区域。
  • 给第二层shape设置顶部左右圆角,让黑白区域的过渡处呈现弧形效果,精准实现你需要的分隔样式。

如果要调整弧形弧度,直接修改topLeftRadius和topRightRadius的数值即可。

内容的提问来源于stack exchange,提问作者user16612111

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 05:51:16