zoukankan      html  css  js  c++  java
  • Android控件重叠显示小记

    方案一

    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显示出来

  • 相关阅读:
    精算师的前世今生
    失落的C语言结构体封装艺术
    关于联合的一些介绍
    变量的声明和定义
    C/C++内存分配区
    探寻周瑜“前世今生”
    SpringBoot中使用AOP
    springBoot中的事物管理
    springBoot整合多数据源
    spingBoot整合mybatis+generator+pageHelper
  • 原文地址:https://www.cnblogs.com/DMingO/p/12828874.html
Copyright © 2011-2022 走看看