Снэк-бар внутри макета

Можно ли показать сообщение Snackbar внутри макета, например, показать его внутри RelativeLayout вместо того, чтобы показывать его внизу экрана?

Я пытался использовать ссылочное представление для RelativeLayout, но это не работает.

Snackbar.make(relativeLayoutView, snackbarText, Snackbar.LENGTH_LONG).show();

2 ответа

Решение

Я не думаю, что вы можете показать закусочную в любом месте на экране, но только в нижней части. По стандартам это должно быть внизу.

Согласно документации,

"Snackbars обеспечивают легкую обратную связь об операции. Они показывают краткое сообщение внизу экрана на мобильном телефоне и внизу слева на больших устройствах".

https://developer.android.com/reference/android/support/design/widget/Snackbar.html

Если вы все еще хотите сделать это, оформить заказ,

Как вы можете настроить Android SnackBar для определенной позиции на экране

Как изменить начальное выравнивание Android Snackbar снизу вверх?

Вы можете сделать это, сделав новый макет CoordinatorLayout внутри относительной компоновки и установите ширину и высоту CoordinatorLayout раскладка.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.CoordinatorLayout 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="100dip">

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end|bottom"
            android:layout_margin="16dp"
            android:src="@drawable/add"
            app:layout_behavior="com.demotest.FloatingActionButtonBehavior" />

    </android.support.design.widget.CoordinatorLayout>
</RelativeLayout>
Другие вопросы по тегам