Je veux montrer Android Snackbar
(android.support.design.widget.Snackbar)
lorsque l'activité commence, tout comme nous montrons un fichier Toast
.
Mais le problème est que nous devons spécifier la mise en page parent lors de la création Snackbar
comme ceci:
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();
Comment donner une mise en page parent lorsque nous montrons Snackbar
au début de l'activité sans aucun événement de clic (s'il s'agissait d'un événement de clic, nous aurions pu facilement passer la vue parent)?
android
material-design
android-snackbar
Sudheesh Mohan
la source
la source
Réponses:
Pointez simplement sur n'importe quel
View
contenu duActivity's
XML. Vous pouvez donner un identifiant au viewGroup racine, par exemple, et utiliser:la source
findViewById(android.R.id.content)
comme indiqué ici stackoverflow.com/a/4488149/1518546J'ai eu du mal à afficher Snackbar jusqu'à présent. Voici le moyen le plus simple d'afficher un Snackbar. Pour l'afficher au début de votre activité principale, insérez simplement ces deux lignes dans votre
OnCreate()
PS Assurez-vous simplement que vous avez importé le support de conception Android (comme mentionné dans la question).
Pour Kotlin,
la source
la source
la source
Une fonction utils pour show snack bar
Exemple d'utilisation dans l'activité
Exemple d'utilisation dans Fragment
J'espère que ça aide
la source
Vous pouvez essayer cette bibliothèque. Ceci est un wrapper pour le snackbar par défaut Android. https://github.com/ChathuraHettiarachchi/CSnackBar
Cela contient plusieurs types de snack-bar et même un snack-bar intégré à vue personnalisée
la source
Cela peut être fait simplement en utilisant les codes suivants dans onCreate. En utilisant la disposition par défaut d'Android
la source
getWindow().getDecorView()
retournez soudainement TOUS l'écran, incluez les `` boutons du bas '' (tels que la maison, le dos, etc.). Donc, ma collation montrait à ce boutons, pas dans l'applicationwindow
àandroid.R.id.content
tout commencer à travailler. J'ai donc écrit mon commentaire pour résoudre le problème de quelqu'un d'autre à l'avenir)Vous pouvez également définir une super classe pour toutes vos activités et retrouver la vue une fois dans l'activité parent.
par exemple
AppActivity.java:
et vos collations ressembleraient à ceci dans toutes les activités de votre application:
Il est préférable pour les performances de trouver la vue une fois pour chaque activité.
la source