根据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中的重叠行为不正确所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)