Вітаю, ми повертаємось до наступника діда-Toast нового молодіжного і сучасного Snackbar. Сьогодні ми розглянемо декілька надзвичайно вражаючих можливостей з бібліотеки підтримки (design support library) і собливо Snackbar.
Stay tuned!
Виглядатиме наш додаток так:
Отримати вью нашого Snackbar ми можемо за допомогою методу getView() та застосувати той колір, який ми тільки захочемо.
На приклад:
Знизу ми маємо клас ColoredSnackbar, який містить в собі деякі методи, що як раз таки міняють колір snackbar на основі їх конкретного типу.
Де використовувати `getView()`, наприклад у фрагменті для отримання вью (view), алк ви можете застосувати і в FrameLayout чи CoordinatorLayout.
source
Stay tuned!
Стилізація Snackbar
В попередній публікації, ми розібралися, як користуватися Snackbar, а сьогодні ми поглянемо як можна кастомізувати snackbar та відобразити його іншим кольором, стилізованим під наші потреби, щоб це мало значення для користувача, наприклад відображати червоним помилки.Виглядатиме наш додаток так:
Як застосувати фоновий колір для Snackbar
Отримати вью нашого Snackbar ми можемо за допомогою методу getView() та застосувати той колір, який ми тільки захочемо.На приклад:
1
| snackbar.getView().setBackgroundColor(colorId); |
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| public class ColoredSnackbar { private static final int red = 0xfff44336 ; private static final int green = 0xff4caf50 ; private static final int blue = 0xff2195f3 ; private static final int orange = 0xffffc107 ; private static View getSnackBarLayout(Snackbar snackbar) { if (snackbar != null ) { return snackbar.getView(); } return null ; } private static Snackbar colorSnackBar(Snackbar snackbar, int colorId) { View snackBarView = getSnackBarLayout(snackbar); if (snackBarView != null ) { snackBarView.setBackgroundColor(colorId); } return snackbar; } public static Snackbar info(Snackbar snackbar) { return colorSnackBar(snackbar, blue); } public static Snackbar warning(Snackbar snackbar) { return colorSnackBar(snackbar, orange); } public static Snackbar alert(Snackbar snackbar) { return colorSnackBar(snackbar, red); } public static Snackbar confirm(Snackbar snackbar) { return colorSnackBar(snackbar, green); } } |
Як використовувати?
1
2
| Snackbar snackbar = Snackbar.make(getView(), R.string.hello_snackbar, Snackbar.LENGTH_SHORT); ColoredSnackBar.alert(snackbar).show(); |
Де використовувати `getView()`, наприклад у фрагменті для отримання вью (view), алк ви можете застосувати і в FrameLayout чи CoordinatorLayout.
source
Комментариев нет:
Отправить комментарий