android–FrameLayout中的重叠行为不正确

android–FrameLayout中的重叠行为不正确,第1张

概述根据docs,FrameLayout中的子视图相互叠加,最近添加的视图位于顶部.我注意到,这似乎在Lollipop或更高版本中并不准确.例如,在以下xml中,按钮仍然可见,即使它应该由我的自定义视图覆盖.值得一提的是,虽然我的自定义视图扩展了FrameLayout,但我确实给子视图充气,所以我的FrameLayout

根据docs,FrameLayout中的子视图相互叠加,最近添加的视图位于顶部.我注意到,这似乎在Lollipop或更高版本中并不准确.例如,在以下xml中,按钮仍然可见,即使它应该由我的自定义视图覆盖.

值得一提的是,虽然我的自定义视图扩展了FrameLayout,但我确实给子视图充气,所以我的FrameLayout不是空的.

<FrameLayout    xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:tools="http://schemas.androID.com/tools"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    tools:context=".MainActivity">    <button        androID:ID="@+ID/some_btn"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_centerInParent="true"        androID:layout_gravity="center"        androID:text="button"/>    <mycustomframelayout        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"        androID:background="#000000"/></FrameLayout>

知道我在这里缺少什么吗?

解决方法:

Lollipop及更高版本中的按钮具有默认高度,这使得它们始终在顶部绘制.您可以通过覆盖默认值StateListAnimator来更改此设置.

尝试将其放入按钮XML:

androID:stateListAnimator="@null"

FrameLayout现在应该覆盖按钮.

总结

以上是内存溢出为你收集整理的android – FrameLayout中的重叠行为不正确全部内容,希望文章能够帮你解决android – FrameLayout中的重叠行为不正确所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1102352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存