Есть ли способ использовать AlertDialog внутри BottomSheetDialogFragment? - PullRequest
1 голос
/ 11 октября 2019

Мне просто нужен Alert Dialog с заголовком, сообщениями и кнопками, но показанный как нижний лист.

где можно получить это (без пользовательского представления)?

Ответы [ 3 ]

0 голосов
/ 11 октября 2019

Вместо использования AlertDialog внутри нижнего листа диалогфрагмента. Создайте один нижний диалог, который будет вести себя как ваш запрос.

Пожалуйста, обратитесь https://medium.com/glucosio-project/moving-from-dialogs-to-bottomsheetdialogs-on-android-15fb8d140295 Как использовать BottomSheetDialog?

0 голосов
/ 11 октября 2019

AlertDialog и BottomSheetDialog расширяются 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");
0 голосов
/ 11 октября 2019

лучший способ - использовать BottomSheetDialogFragment, как вы сказали, и установить для него пользовательский вид, который вам нужен, только с заголовком, сообщениями и кнопками

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

dialog.show();
...