Android控件重叠显示小记
16lz
2021-01-23
方案一
-
利用布局控件显示优先级
在xml中RelativeLayout,FrameLayout,靠后的控件显示在上层。 -
利用margin属性
margin属性可以控制控件间的距离,属性值为正值时,越大离得越远,越小则离得越近。
所以可以通过给android:layout_marginTop
,android:layout_marginBottom
,android:layout_marginLeft
,android:layout_marginRight
。这四个属性设置为负数值,会让控件叠加在一起。
-
记住Button的优先级最高
从Android 5.0 开始,在同一个布局下,Button将总是位于最上层。产生原因:
stateListAnimator
属性==>Button自带在点击时默认有个阴影的效果用于表示按下的状态。
如果想让Button不覆盖其他控件,可以使用android:stateListAnimator="@null"
,去掉默认点击的阴影效果,使Button可以被正常的覆盖。
方案二
调整布局xml中的重叠控件的 elevation
属性
示例:
android:elevation="5dp"
例如在 RelativeLayout中使用了 CardView ,即使在靠后使用 Button,还是无法覆盖 CardView,原因可能是
elevation 属性的大小问题,将对应的控件的elevation 属性提高,就可以让对应控件在叠加关系中由下层变为上层。
方法三
Java代码中调用: A.bringToFront();
让A显示出来
更多相关文章
- android:installLocation这个属性
- android 程序退出解决方案
- Android控件ToggleButton多状态按钮使用详解
- Android ListView几个特别的属性
- Android 属性动画的原理分析
- Android控件布局属性全解