Android应用屏幕图层固定置顶与顺序控制参数咨询
Android固定图层叠放顺序参数说明
1. 两个图层为同容器下的普通View(Android 5.0及以上版本)
- 核心控制参数为
elevation,该参数值越高的View,渲染层级越高,会始终固定在参数值更低的View上方,不受选中状态切换、子View添加顺序变化影响 - 示例配置:
<!-- 下层图层 --> <ImageView android:id="@+id/layer_bottom" android:layout_width="match_parent" android:layout_height="match_parent" android:elevation="2dp" /> <!-- 固定在上层的图层 --> <ImageView android:id="@+id/layer_top" android:layout_width="match_parent" android:layout_height="match_parent" android:elevation="4dp" />
2. 图层基于LayerDrawable图层列表实现
- 叠放顺序由图层在
<layer-list>中的声明顺序决定,无需额外参数,后声明的图层会默认固定在上层 - 示例配置:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 先声明的为下层图层 --> <item android:drawable="@drawable/bg_layer" /> <!-- 后声明的为固定在上层的图层 --> <item android:drawable="@drawable/foreground_layer" /> </layer-list>
低版本兼容方案
如果需要兼容Android 5.0以下版本,可在每次切换图层选中状态后,主动调用需要置顶图层的bringToFront()方法,强制调整渲染层级:
// Java示例 layerTop.bringToFront(); // Kotlin示例 layerTop.bringToFront()
内容的提问来源于stack exchange,提问作者user2939206
相关产品推荐
相关产品推荐

