web-dev-qa-db-fra.com

Afficher le SnackBar Android au-dessus du clavier?

Est-il possible d'afficher le Snackbar Android au-dessus du clavier (comme dans la coordonnée Y, sans superposition)? La barre de brouillage est actuellement masquée si le clavier est affiché, ce qui constitue un comportement indésirable. 

50
fobbymaster

Ensemble 

Android:windowSoftInputMode="adjustResize"

dans le AndroidManifest.xml pour l'activité contenant votre snack

63
giorgos29cm

Vous pouvez masquer le clavier lorsqueSnackbarest affiché. 

InputMethodManager imm = (InputMethodManager)activity.getSystemService(Activity.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(view.getWindowToken(), 0);

9
taken2016

Si vous imbriquez votre mise en page dans une ScrollView, la barre d’affichage apparaîtra au-dessus du clavier. En effet, la vue sera redimensionnée pour occuper uniquement l'espace disponible au-dessus du clavier. Et, bien sûr, votre vue pourra également défiler si nécessaire à tout moment, que le clavier soit affiché ou non.

8
Menasheh

Ceci est mon code pour snackbar et son fonctionnement est similaire + comme vous avez besoin relativeLayout est l'ID de présentation principal parent que j'ai transmis.

        snackbar=snackbar.make(relativeLayout,"Image is Saved to "+Savedfile.getPath().toString(),Snackbar.LENGTH_INDEFINITE)
                .setAction("OK", new OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        snackbar.dismiss();
                        snackbar=null;

                        System.gc();
                        finish();
                    }
                });
        snackbar.show();
0
Rahul