这是一个简单的布局:
<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
将不再起作用。那么为什么会发生这种情况以及如何解决呢?
预先感谢您的任何想法或答案。
答案 0 :(得分:0)
如果我正确理解,您想使用
的行为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 下方,该行为才能生效。
答案 1 :(得分:0)
也许我没有正确理解您的问题,但是您不能将 clickable 设置为 false 吗?
export const renderTextField = ({input, label, meta: {touched, error}, ...other}) =>
<TextField
label={label}
error={!!(touched && error)}
helperText={!!(touched && error) && error}
{...input}
{...other}
/>
您可以通过编程方式进行切换;
android:clickable="false"