我有两个布局,manageLayout 和 mainLayout。他们在各个方面都对父母有限制。我需要一次在mainLayout的顶部有manageLayout,另一次在manageLayout的顶部有mainLayout。当然,在其中一个上使用 visibility=gone 是有道理的,但我需要在另一个背景上使用一种布局。问题:后台布局处理来自顶部布局的事件。当另一个布局上升时,如何使较低的布局(和他的元素)不可触及?布局树图像:
LayoutTreeImg
代码示例,我想禁用与较低布局的通信:https ://pastebin.com/PeL7u3YD (不仅isSaveEnabled=false
没有效果,也isEnabled=false
没有效果)
2 回答
1
如果你只需要一个解释。
一旦你为mainLayout
和初始化了你的视图manageLayout
,你需要将onClickListener
它们都设置为空。基本上,布局应该得到点击,但什么也不做。通过这种方式,您可以阻止 Front 视图下方的布局和小部件被点击。
现在为了将视图切换到前面,请维护一个布尔值以了解哪个视图在前面,然后在您的按钮上单击设置另一个视图(或者如果需要,请尝试此处bringToFront()
提到的其他方法)并且不要忘记切换布尔值。
让我知道这是否适合您,或者您对此有任何问题。
于 2020-03-04T09:37:47.157 回答
0
根据我的理解,你可以做更低的布局setEnable(false)
。我希望它会奏效。
于 2020-03-04T09:01:48.763 回答