Было бы практичным или более простым сделать 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
, отображаемым внизу.