Quiero mostrar a Android Snackbar
(android.support.design.widget.Snackbar)
cuando comienza la actividad, tal como mostramos a Toast
.
Pero el problema es que tenemos que especificar el diseño principal al crear Snackbar
así:
Snackbar.make(parentlayout, "This is main activity", Snackbar.LENGTH_LONG)
.setAction("CLOSE", new View.OnClickListener() {
@Override
public void onClick(View view) {
}
})
.setActionTextColor(getResources().getColor(android.R.color.holo_red_light ))
.show();
¿Cómo dar un diseño principal cuando mostramos Snackbar
al inicio de la actividad sin ningún evento de clic (si fuera un evento de clic, podríamos haber pasado fácilmente la vista principal)?
android
material-design
android-snackbar
Sudheesh Mohan
fuente
fuente
Respuestas:
Simplemente apunte a cualquiera
View
dentro delActivity's
XML. Puede dar una identificación al viewGroup raíz, por ejemplo, y usar:fuente
findViewById(android.R.id.content)
como se indica aquí stackoverflow.com/a/4488149/1518546He tenido problemas para mostrar Snackbar hasta ahora. Esta es la forma más sencilla de mostrar una barra de aperitivos. Para mostrarlo como inicio de su actividad principal, simplemente coloque estas dos líneas dentro de su
OnCreate()
PD: Solo asegúrate de haber importado el soporte de diseño de Android (como se menciona en la pregunta).
Para Kotlin,
fuente
fuente
fuente
Una función util para show snack bar.
Ejemplo usando en Actividad
Ejemplo usando en Fragmento
Espero que ayude
fuente
Puedes probar esta biblioteca. Este es un contenedor para la barra de aperitivos predeterminada de Android. https://github.com/ChathuraHettiarachchi/CSnackBar
Contiene varios tipos de snackbar e incluso un snackbar integrado con vista personalizada
fuente
Se puede hacer simplemente usando los siguientes códigos dentro de onCreate. Usando el diseño predeterminado de Android
fuente
getWindow().getDecorView()
devuelve repentinamente TODA la pantalla, incluye 'botones inferiores' (como inicio, atrás, etc.) Así que mi bocadillo se mostraba en estos botones, no en la aplicaciónwindow
aandroid.R.id.content
todos empecé a trabajar. Así que escribí mi comentario para resolver el problema de alguien más con él en el futuro)También puede definir una superclase para todas sus actividades y buscar la vista una vez en la actividad principal.
por ejemplo
AppActivity.java:
y sus bocadillos se verían así en todas las actividades de su aplicación:
Es mejor para el rendimiento que tenga que buscar la vista una vez para cada actividad.
fuente