Как использовать Material Snackbar в моем приложении? - PullRequest
0 голосов
/ 03 мая 2019

Я следовал инструкциям по внедрению компонентов материалов в мое приложение и назначил Theme.MaterialComponents.NoActionBar своему AppTheme, и в моей основной деятельности он имеет CoordinatorLayout, как указано в material.io лучше всего отобразить снэк-бар, но я получаю этот результат.

enter image description here

Редактировать: я пытался изменить цвет фона Snackbar в стиле, а также установить textViewStyle, но эти параметры не работали

если потребуется дополнительная информация, я отредактирую и добавлю недостающую информацию.

Ответы [ 3 ]

2 голосов
/ 03 мая 2019

Используйте этот код:

snackBarView.getView().setBackgrondColor(ContextCompat.getColor(getActivity(),R.color.Blue));
0 голосов
/ 03 мая 2019

Я обнаружил ошибку, так как <item name="android:background">@color/white</item> переопределял цвет фона TextView и даже указывал андроид: фон в указанном стиле виджета не будет переопределять основной фон, указанный в главном AppTheme

0 голосов
/ 03 мая 2019

Вы можете изменить текст и цвет фона следующим образом.

  Snackbar snackbar = Snackbar
            .make(view, "Hello", Snackbar.LENGTH_SHORT);
    View sbView = snackbar.getView();
    sbView.setBackgroundColor(Color.RED);
    TextView textView = sbView.findViewById(android.support.design.R.id.snackbar_text);
    textView.setTextColor(Color.WHITE);
    textView.setTypeface(FontHelper.getFont(Fonts.MULI_SEMI_BOLD));
    snackbar.show();

Альтернативный способ изменить цвет фона панели закусок - ссылка

https://stackoverflow.com/a/54484438/7108030

Если у вас все еще есть какие-либо сомнения, поделитесь примером кода, и если этот ответ полезен, дайте положительный отзыв.

...