欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android控件重叠显示小记

程序员文章站 2022-07-09 19:14:10
方案一 1. 利用布局控件显示优先级 在xml中RelativeLayout,FrameLayout,靠后的控件显示在上层。 2. 利用margin属性 margin属性可以控制控件间的距离,属性值为正值时,越大离得越远,越小则离得越近。 所以可以通过给 , , , 。 这四个属性设置为 负数值 , ......

方案一

  1. 利用布局控件显示优先级
    在xml中relativelayout,framelayout,靠后的控件显示在上层。

  2. 利用margin属性
    margin属性可以控制控件间的距离,属性值为正值时,越大离得越远,越小则离得越近。
    所以可以通过给android:layout_margintopandroid:layout_marginbottomandroid:layout_marginleftandroid:layout_marginright

    这四个属性设置为负数值,会让控件叠加在一起。

  3. 记住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显示出来