SnackBar / Toast, используя View или Dialog - PullRequest
0 голосов
/ 11 октября 2019

Было бы практичным или более простым сделать View или DialogFragment, который бы вел себя как SnackBar / Toast?

Это пользовательский слой, который я сделал (просто для презентации)цели):

custom_layout.xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_gravity="center_horizontal"
    android:padding="8dp"
    android:background="@drawable/background_holder"
    >

    <androidx.appcompat.widget.LinearLayoutCompat
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_gravity="center"
        >

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:textColor="@android:color/holo_blue_light"
            android:textSize="16sp"
            android:text="@string/app_name"
            />

        <View
            android:layout_gravity="center"
            android:layout_width="fill_parent"
            android:layout_height="2dip"
            android:background="@android:color/holo_blue_light"
            />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@android:color/white"
            android:text="@string/sample_text_short"
            android:layout_marginTop="5dp"
            android:maxEms="15"
            android:gravity="center_horizontal"
            android:id="@+id/text"
            />
    </androidx.appcompat.widget.LinearLayoutCompat>

    <androidx.appcompat.widget.AppCompatButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@android:color/white"
        android:layout_margin="8dp"
        android:text="DIMISS"
        android:background=""
        android:maxEms="15"
        android:id="@+id/button"
        />
</LinearLayout>

И вот как это выглядит: Custom SnackBar

Моя идеячтобы показать его (например, чтобы подтвердить событие, например, «Правильно удалено»), а затем либо:

  • Обработать событие onClick на кнопке, поэтому, если пользователь нажимает, тогда я просто делаюsetVisibility(GONE).

ИЛИ

  • Заставьте его исчезнуть через некоторое время, используя Handler.

В качестве альтернативы, сделайте то же самое, нос DialogFragment, отображаемым внизу.

...