有一种方法可以在BottomSheetDialogFragment中使用AlertDialog吗?

时间:2019-10-11 12:28:08

标签: android android-alertdialog bottom-sheet

我只需要一个带有标题,消息和按钮的警报对话框,但显示在底部。

在何处获取此内容(没有自定义视图)?

4 个答案:

答案 0 :(得分:0)

最好的方法是使用您所说的BottomSheetDialogFragment并将其设置为仅包含标题,消息和按钮的自定义视图

BottomSheetDialog dialog = new BottomSheetDialog(YourActivity.this);
dialog.setContentView(YourView);

dialog.show();

答案 1 :(得分:0)

不是在bottomsheetdialogfragment内部使用AlertDialog。 创建一个行为类似于您的要求的底页对话框。

请参阅 https://medium.com/glucosio-project/moving-from-dialogs-to-bottomsheetdialogs-on-android-15fb8d140295 How to use BottomSheetDialog?

答案 2 :(得分:0)

AlertDialogBottomSheetDialog都扩展了AppCompatDialog,但实现方式不同
由于布局很简单(仅是标题,消息和按钮),因此使用带有自定义布局的BottomSheetDialog会比使用AlertDialog并适应BottomSheet的所有行为和动画要容易得多

只需使用BottomSheetDialogFragment(它将创建BottomSheetDialog):

public class MyBottomSheetDialog extends BottomSheetDialogFragment {

  @Nullable @Override
  public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
      @Nullable Bundle savedInstanceState) {
    super.onCreateView(inflater, container, savedInstanceState);
    //Use your custom layout
    View view = inflater.inflate(R.layout.yourLayout, container, false);
    return view;
  }    
}

然后

MyBottomSheetDialog myBottomSheetDialog = new MyBottomSheetDialog();
myBottomSheetDialog.show(getSupportFragmentManager(), "TAG");

答案 3 :(得分:0)

我回答我的问题:不,你不得不使用 CustomView