BottomSheetBehavior已在Android设计支持库23.2中引入,但它不会使屏幕的其余部分变暗,也不会阻止与其他UI的交互。无论如何这可以实现吗?
答案 0 :(得分:2)
'd'
在您的活动中:
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);
}
}
现在,你将变暗,当点击昏暗时,对话框将会关闭。
从here开始实施。
答案 1 :(得分:1)
使用带有片段而不是视图的底部工作表:)
答案 2 :(得分:0)
请注意,有两种实现方式:
BottomSheetBehavior
和BottomSheetDialogFragment
。
使用BottomSheetDialogFragment
来获得所需的功能。
此外,在使用BottomSheetBehavior
时,请设置布局的android:clickable="true"
。这样一来,点击空白时就不会出现点击。(为清楚起见:在包含标签app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"
的布局中设置了clickable)