方案一

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

更多相关文章

  1. android:installLocation这个属性
  2. android 程序退出解决方案
  3. Android控件ToggleButton多状态按钮使用详解
  4. Android ListView几个特别的属性
  5. Android 属性动画的原理分析
  6. Android控件布局属性全解

随机推荐

  1. Android下进行 Facebook 分享
  2. Android(安卓)图片缩放实例详解
  3. 横向 纵向结合的ScrollView
  4. android用于打开各种文件的intent
  5. Android圆角图片封装类(直接使用)
  6. android旋转图片
  7. android获取图库图片并返回
  8. Android查询SIM卡所有信息
  9. xamarin android edittext点击弹框
  10. 关于Android工程的构建工具-不定时更新