Это определенно возможно, вам просто нужно передать вид диалога на SnackBar
.
Пример
AlertDialog.Builder mAlertDialogBuilder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
// inflate the custom dialog view
final View mDialogView = inflater.inflate(R.layout.dialog_layout, null);
// set the View for the AlertDialog
mAlertDialogBuilder.setView(mDialogView);
Button btn = (Button) mDialogView.findViewById(R.id.dialog_btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Pass the mDialogView to the SnackBar
Snackbar
.make(mDialogView, "SnackBar in Dialog", Snackbar.LENGTH_LONG)
.show();
}
});
AlertDialog alertDialog = mAlertDialogBuilder.create();
alertDialog.show();
Результат
Примечание: Там нет необходимости использовать CoordinatorLayout
как корень. В моем примере я просто использовал LinearLayout в качестве корня.
технически говоря, это должно быть проблемой. Реальный вопрос: зачем это нужно – Blackbelt
Не думаю, что вы можете использовать Snackbar в диалоговом окне, потому что он всегда отображается в нижней части экрана. Кроме того, вы не должны использовать Snackbar в диалоге, который я должен сказать, потому что это неправильный способ его использования. –
не забудьте принять один из ответов! :) –