BottomSheetBehavior 已在 Android 设计支持库 23.2 中引入,但它不会使屏幕的其余部分变暗,也不会阻止与 UI 的其余部分的交互。无论如何这可以实现吗?
问问题
2811 次
3 回答
3
public class BottomSheetDimmedFragment extends BottomSheetDialogFragment {
public static final String TAG = BottomSheetDimmedFragment.class.getSimpleName();
@NonNull
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
final BottomSheetDialog dialog = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);
final View view = View.inflate(getContext(), R.layout.test, null);
dialog.setContentView(view);
return dialog;
}
public void show(final FragmentActivity fragmentActivity) {
show(fragmentActivity.getSupportFragmentManager(), TAG);
}
}
在您的活动中:
BottomSheetDimmedFragment sheet = new BottomSheetDimmedFragment();
sheet.show(this);
现在,您将有一个暗淡,并且当单击一个暗淡时,对话框将关闭。
从这里执行。
于 2017-03-26T10:56:36.923 回答
1
使用带有片段而不是视图的底部工作表:)
于 2017-03-27T13:00:36.257 回答
0
请注意,有两种实现:
BottomSheetBehavior
和BottomSheetDialogFragment
。
用于BottomSheetDialogFragment
获取您需要的功能。
此外,当使用BottomSheetBehavior
设置布局的android:clickable="true"
. 这样,当您点击空白区域时,点击不会通过。(为清楚起见:在包含标签的布局上设置了可点击app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"
)
于 2019-05-20T10:22:42.937 回答