[JAVA] [Android] Snackbar von jeder Position aus anzeigen

Überblick

Zeigen Sie die Snackbar von einer beliebigen Position aus an, anstatt sie am unteren Bildschirmrand herauszuziehen

Fügen Sie das Koordinatorlayout in die Layoutdatei ein

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>

Schließen Sie die Ansicht, die "Snackbar" anzeigen soll, mit "CoordinatorLayout" ein

Snackbar-Implementierung

build.gradle


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

Implementierung`` com.google.android.material zu build.gradle um Snackbar zu verwenden

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();
}

Erstellen Sie eine Methode zum Anzeigen von "Snackbar" Setzen Sie das erste Argument von "Snackbar.make" auf die ID der Ansicht an der Position, die Sie anzeigen möchten (diesmal "Button"). Lassen Sie "Snackbar" unter der "Ansicht" der Schaltfläche hervorkommen, wenn die Taste gedrückt wird

Es gibt viele zusätzliche Beschreibungen, und ich denke, es gibt einen besseren Weg, aber es ist ein Memorandum, also frage ich mich, ob das in Ordnung ist. ..

Recommended Posts

[Android] Snackbar von jeder Position aus anzeigen
[Android] Überprüfungsdialoganzeige
Android App, die Bilder aus der Galerie auswählt und anzeigt
JSP-Fehleranzeige vom Servlet