¿Puedo mostrar el diseño de material Snackbar en el diálogo?

Estoy desarrollando una aplicación para Android. En que quiero mostrar el diseño de material Snackbar en el diálogo. ¿Es posible? En caso afirmativo, ¿cómo?

Por favor, ayúdame.

Gracias.

Es definitivamente posible, sólo tienes que pasar la Vista del Diálogo a la SnackBar .

Ejemplo

  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(); 

Resultado

Imagen que muestra el resultado

Nota : No es necesario utilizar un CoordinatorLayout como raíz. En mi ejemplo simplemente usé un LinearLayout como la raíz.

Sí tu puedes.

Para mostrar Snackbar dentro de su Dialog cree una View personalizada para él. Puede leer más sobre esto aquí: Diálogos / Creación de un diseño personalizado

Luego, para mostrar Snackbar invoque Snackbar.make((dialogView, "text", duration)) donde dialogView es su vista personalizada.

Si está utilizando un Dialog entonces:

 dialog_share = new Dialog(MainScreen.this, R.style.DialogTheme); dialog_share.requestWindowFeature(Window.FEATURE_NO_TITLE); LayoutInflater inflater = this.getLayoutInflater(); mDialogView = inflater.inflate(R.layout.dialog_share, null); dialog_share.setContentView(mDialogView); dialog_share.getWindow().setBackgroundDrawableResource(R.color.translucent_black); dialog_share.show(); public void ShowSnackBarNoInternetOverDialog() { Snackbar snackbar = Snackbar.make(mDialogView, getString(R.string.checkinternet), Snackbar.LENGTH_LONG); snackbar.setActionTextColor(Color.CYAN); snackbar.setAction("OK", new View.OnClickListener() { @Override public void onClick(View v) { //Toast.makeText(MainScreen.this, "snackbar OK clicked", Toast.LENGTH_LONG).show(); } }); snackbar.show(); } 
  • Animación
  • WebView en problemas con NestedScrollView
  • ¿Dónde debería establecerse 'app: layout_behavior'?
  • Cómo animar barras de herramientas superior e inferior (o cualquier otra vista) entrar / salir de la pantalla en desplazamiento en CoordinatorLayout?
  • Cómo reparar sombra en FloatingActionButton escalado mediante la biblioteca de soporte 23
  • ¿Cómo puedo modificar el color ondulado cuando utilizo? Attr / selectableItemBackground como fondo?
  • Android: establecer la elevación para el elemento anterior (sombra con dirección hacia arriba)
  • Fragmento de error: tipos incompatibles, requiere android.app.fragment pero encontró activity.messagefragment
  • Estilo de la barra de herramientas de Android Spinner
  • El estilo AutoCompleteTextView con AppCompat.EditText no funciona
  • Cómo mostrar los elementos colapsados ​​en CoordinatorLayout mediante programación?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.