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

如何在Android中实现类似多层阴影/渐变的UI效果?

实现顶部深色向下渐变至透明的方案

这个效果更适合用线性渐变实现,图中的效果大概率就是线性渐变做的,当然也可以用内阴影模拟,但渐变的可控性更强。

直接背景渐变方案

如果是给元素本身加这个渐变背景,直接用linear-gradient:

.gradient-top {
  /* 自定义深色值和渐变范围,这里示例用深灰到透明 */
  background: linear-gradient(to bottom, #1a1a1a 0%, rgba(26, 26, 26, 0) 100%);
  height: 200px; /* 根据需求设置高度 */
  width: 100%;
}

遮罩式渐变(适合已有背景的元素)

如果要在已有内容/背景的元素上方叠加这个渐变遮罩,用伪元素更方便:

.target-element {
  position: relative;
  /* 元素原有样式 */
}

.target-element::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 180px; /* 控制渐变遮罩的高度 */
  /* 前20%保持实色深色,之后过渡到透明,让效果更自然 */
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.9) 20%, transparent 100%);
  pointer-events: none; /* 不干扰下层元素的点击交互 */
}

阴影模拟方案(不推荐,可控性弱)

用内阴影也能做出类似效果,但过渡效果不如渐变精准:

.shadow-top {
  box-shadow: inset 0 150px 80px -60px rgba(0, 0, 0, 0.8);
  height: 200px;
  width: 100%;
}

如果之前渐变效果不理想,大概率是这两个问题:

  • 没有使用带透明度的rgba颜色值,直接用纯色到transparent会出现颜色断层
  • 渐变的百分比设置不合理,比如没有预留实色区域,导致过渡太突兀

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 17:50:23