这是一个简单的布局:
<CoordinatorLayout>
<View android:id="+id/view1" />
<View
android:id="+id/view2"
app:layout_behavior="@string/bottom_sheet_behavior" />
<CustomView
android:id="+id/custom_view" />
</CoordinatorLayout>
现在让我们假设CustomView
是最大的,就像它的大小和设备的屏幕一样,虽然它可以是透明的,不应该处理任何触摸输入事件。在这种情况下,我发现在layout_behavior
中定义的view2
将不再起作用。那为什么会发生这种情况以及如何解决呢?
提前感谢任何想法或答案。
如果我理解正确你想要使用的行为
app: layout_behavior = "@ string / bottom_sheet_behavior"
对?作为CoordinatorLayout is a super-powered FrameLayout然后你应该把
<View
android: id = "+ id / view2"
app: layout_behavior = "@ string / bottom_sheet_behavior" />
在CustomView下方可以使用的行为。
也许我没有正确理解你的问题,但是你不能将clickable设置为false吗?
android:clickable="false"
你可以通过编程方式切换它;
view.isClickable = false //true