← 返回 Android 词条
层叠顺序
在 Android 上叫zIndex
Compose: Modifier.zIndex(zIndex)
官方描述是「创建一个修饰符,控制同一个布局父级下子元素的绘制顺序」。作用域被写进了定义:它只在兄弟之间排序,跨父级不比较 —— 这与 Web 的层叠上下文规则和 iOS 的无前置条件都不一样。
两个元素在屏幕上重叠时,决定谁画在上面、谁被盖在下面的先后次序。
- 被别的东西盖住了
- 让它显示在最上面
- 浮层跑到下面去了
- 层叠顺序
- 堆叠次序
- 绘制顺序
其他平台的相似实现
Web原生支持
z-index同名官方定义是「设置一个已定位元素及其后代、或弹性与网格项的 z 轴次序」。
看 Web 视角 →iOS原生支持
zIndex同名官方描述是「控制重叠视图的显示顺序」,参数说明是「这个视图相对的前后次序,默认为 0」。
看 iOS 视角 →使用规范
什么时候用
- 浮层、气泡、吸顶栏需要压在正常内容之上时
- 两个重叠元素的先后关系不能靠书写顺序保证时
什么时候别用
- 靠不断加大数值来压过别人时 —— 那说明层级关系本身没理清
- 元素并不重叠,只是排布先后 → 那是布局顺序,不是层叠顺序