.border(width = 2.dp, brush = Brush.linearGradient(colors = listOf(Color.Red, Color.Yellow, Color.Green)), shape = RoundedCornerShape(16.dp)) И тут я просто расплакался :cry:
Оптимизация рекомпозиции работает только с простыми функциями типа Text или со всеми? Когда из ViewModel получется Flow с объектом типа (Int, Int, List) и преобразовывается в State/Значение с помощью collectAsState(). ...
В этом уроке обсудим, в каких потоках выполняется код загрузки данных. Разберем возможности LivePagedListBuilder. Узнаем, как использовать Paging Library с Room.
Потоки
Давайте поговорим про ...
В этом уроке рассмотрим, какие параметры мы можем задать для PagedList. Подробно разберем, какие значения необходимо передавать в callback.onResult в DataSource. Научимся использовать режим Placeholders. ...
... программно добраться до Drawable, который вы для View повесили как фон, надо просто вызвать метод getBackground.
Level List
Тег позволяет отображать Drawable в зависимости от значения level. Рассмотрим ...
... более чем в два раза.
Мы рассмотрели XML-описание, но вы всегда можете создать этот объект и программно. Java-реализация – класс BitmapDrawable.
Layer List
Мы можем описать Drawable, ...
В этом уроке:
- работаем с ListFragment
Вернемся к фрагментам. В Android есть несколько полезных классов – наследников класса Fragment. Мы рассмотрим несколько из них. Начнем с ListFragment. ...
В этом уроке:
- используем Header и Footer в списках - разбираемся, как и где используется HeaderViewListAdapter
Header и Footer (далее по тексту HF) – это View, которые могут быть добавлены ...
В этом уроке:
- строим список-дерево ExpandableListView
Если список элементов получается большой, имеет смысл разбить его на группы для упрощения навигации. Для этих целей можно использовать ...
В этом уроке:
- рассматриваем события ListView: нажатие - onItemClick, выделение - onItemSelect, прокрутка - onScroll
При взаимодействии со списком может возникнуть необходимость обрабатывать ...
В этом уроке:
- используем список ListView для одиночного и множественного выбора элементов
Бывает необходимость предоставить пользователю возможность выбрать один или несколько элементов из ...
В этом уроке:
- используем ListView для построения списка
Перед тем, как начать говорить про компонент ListView, предлагаю вспомнить еще раз прошлый урок и механизм построения списка, который ...
... которая принимает на вход Brush. С его помощью можно сделать градиент:
.background(
brush = Brush.linearGradient(colors = listOf(Color.Red, Color.Yellow, Color.Green)),
shape = RoundedCornerShape(16.dp)
)
...
... решить, надо ли отображать элемент. Или мы используем цикл, чтобы отобразить несколько одинаковых элементов.
Рассмотрим пример Composable функции:
@Composable
fun HomeScreen(list: List) {
if (list.isEmpty()) ...
... просто не отписался какой-нибудь listener. И добавление одной строчки кода решит проблему.
Шаги 1 и 2 могут выполняться несколько раз. Использовав один инструмент и проанализировав его данные, вы понимаете, ...
... TaskDetailViewModel и TaskDetailUserActionsListener.
Отображение задачи
Как задача попадает из TaskDetailViewModel на экран?
В TaskDetailViewModel есть поле.
public final ObservableField ...
... списка задач
Как список с данными попадает из TasksViewModel на экран?
В TasksViewModel есть поле:
public final ObservableList items = new ObservableArrayList();
В него складываются задачи, полученные ...
...
Custom merger
При необходимости мы можем написать свой InputMerger. Для этого надо просто наследовать класс InputMerger и реализовать его метод:
Data merge(@NonNull List inputs)
На вход ...
... view - это любое View в этом фрагменте.
Пример использования в OnClickListener
buttonNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
...