[JAVA] [Android] Affichez le snack-bar de n'importe quelle position

Aperçu

Affichez le Snackbar à partir de n'importe quelle position au lieu de le retirer du bas de l'écran

Mettre la mise en page du coordinateur dans le fichier de mise en page

fragment_main.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <Button
            android:id="@+id/button"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_marginTop="200dp"
            android:gravity="center" />

     </androidx.coordinatorlayout.widget.CoordinatorLayout>

</LinearLayout>

Enveloppez la vue que vous souhaitez afficher Snackbar avec CoordinatorLayout

Implémentation de Snackbar

build.gradle


dependencies {
    implementation 'com.google.android.material:material:1.1.0'
}

ʻImplementation`` com.google.android.materialàbuild.gradle pour utiliser Snackbar`

MainFragment.java



import com.google.android.material.snackbar.Snackbar;

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    Button button = view.findViewById(R.id.button);
    button.setText("button");
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            showSnackbar("test");
        }
    });
    super.onViewCreated(view, savedInstanceState);
}

private void showSnackbar(String message) {
    View view = getView();
    if (view == null) return;

    Snackbar snackbar = Snackbar.make(view.findViewById(R.id.button), message, Snackbar.LENGTH_SHORT);
    snackbar.show();
}

Créer une méthode pour afficher Snackbar Définissez le premier argument de Snackbar.make sur l'id de la vue à la position que vous souhaitez afficher (cette fois Button) Faire sortir Snackbar de la vue du bouton lorsque le bouton est enfoncé

Il y a beaucoup de descriptions supplémentaires, et je pense qu'il y a une meilleure façon, mais c'est un mémorandum, alors je me demande si tout va bien. ..

Recommended Posts

[Android] Affichez le snack-bar de n'importe quelle position
[Android] Affichage de la boîte de dialogue de révision
Application Android qui sélectionne et affiche des images de la galerie
Affichage d'erreur JSP à partir du servlet