如何在Android中响应BottomSheetDialogFragment的外部触摸事件

时间:2018-11-05 02:31:54

标签: android ontouchlistener

当我在BottomSheetDialogFragment外部触摸时,我想防止对话框消失并在对话框中隐藏响应触摸事件,所以我在BottomSheetDialogFragment类中这样做:

@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View dialogView = inflater.inflate(R.layout.poi_result_bottom_dialog, container, false);
    this.getDialog().setCanceledOnTouchOutside(false);
    return dialogView;
}

但是,我发现是否设置了'setCanceledOnTouchOutside(false)',当我在对话框外部进行触摸时,对话框下的活动无法响应触摸事件。

1 个答案:

答案 0 :(得分:0)

您不应该使用BottomSheetDialog。所需的内容称为“持久性底页”。通过使用嵌入式View并设置BottomSheetBehaviorandroidhive.info中的说明对此进行了很好的描述。