2016-10-02 4 views
3

Ich versuche, eine Snackbar in meiner Tätigkeit zu zeigen. Aber es wird hinter anderen Ansichten in der Aktivität angezeigt. Wie man es als eine Draufsicht zeigt?SnackBar geht hinter anderen Ansichten

Snackbar snack = Snackbar.make(referenceView, referenceView.getContext().getString(messageId), showLength); 
snack.show(); 

referenceView ist nichts anderes als ein Etikett in der gleichen Aktivität.

enter image description here

Antwort

1

Stellen Sie sicher, dass Ihre referenceView ist Instanz von CoordinatorLayout, da sonst die Snackbar auf eine Systemansicht verankern.

Per den Snackbar docs über die view Parameter:

Snackbar werden versuchen, eine übergeordnete Ansicht finden Snackbar Ansicht von dem Wert zu halten gegeben anzuzeigen. Snackbar wird den Ansichtsbaum hinauflaufen und versuchen, ein passendes Elternteil zu finden, das als CoordinatorLayout oder die Inhaltsansicht des Fensterdekors definiert ist, je nachdem, was zuerst eintritt.

+0

Diese Aktivität hat kein 'CoordinatorLayout'-Element. – emaillenin

+1

Dann können Sie immer noch das gesamte Layout mit einem CoordinatorLayout umgeben, und Ihre Snackbar sollte dort erscheinen, wo sie hingehört, ohne dass Sie mehr Code berühren. –

+0

Hat das Ihre Frage gelöst? Wenn ja, bitte akzeptiere meine Antwort. Vielen Dank. –

Verwandte Themen