Как указывалось в предыдущем разделе, компоновка для удаленного представления, которое может быть отображено в виде виджета домашнего экрана, теперь может включать списковое представление. В пример удаленной компоновки, содержащей списковое представление.
Шаблон компоновки в следует простому формату с заголовком, телом и нижним колонтитулом. Для заголовка и нижнего колонтитула указана фиксированная высота; в этом примере она составляет пикселей, не зависящих от разрешения. Однако высота тела должна быть переменной, чтобы занимать оставшееся вертикальное пространство. Для этого понадобится установить атрибут android:layout_weight в для заголовка и нижнего колонтитула. Для тела атрибут android:layout_weight устанавливается в, а android:layout_height — в match_parent.
Элемент FrameLayout, занимающий позицию тела этого виджета, требует некоторого пояснения. FrameLayout выбирает один из своих дочерних элементов в качестве представления исключающим образом. В этом случае, когда имеются данные в списке, swiss military будет использоваться ListView. Если же список пуст, отображается пустое текстовое представление. Такое поведение можно настроить с помощью RemoteViewsFactory.
Кроме того, в этом файле компоновки для формирования скругленных углов используется специальное рисованное изображение, идентифицируемое посредством @drawable/box. В о содержимое файла box.xml, который должен быть помещен в подкаталог /res/drawable.
Теперь, имея пример компоновки для виджета домашнего экрана, давайте посмотрим, как загрузить эту компоновку в удаленное представление.
Загрузка удаленной компоновки
Для виджета домашнего экрана удаленная компоновка загружается и отображается в методе обратного вызова onUpdate класса AppWidgetProvider. В пример.
Обратите внимание, что объект RemoteViews конструируется с использованием идентификатора файла компоновки, описывающего целый виджет. Это тот же самый файл компоновки, который был . Затем можно взять результирующий объект RemoteViews и указать пустое представление для специфического ресурса спискового представления (определяемого идентификатором) внутри этого файла компоновки.
В примере, показанном в, файл компоновки идентифицируется следующим образом:
R.layout.test list widget layout
Ресурс спискового представления в этом файле идентифицируется так:
R.id.listwidget list view id
А пустое представление для данного ресурса спискового представления идентифицируется следующим образом:
R.id.listwidget empty view id
С учетом этих идентификаторов, код в демонстрирует создание удаленного представления и установку пустого представления для одного из его списковых представлений.
Опубликовал Kest
February 14 2015 14:05:39 ·
0 Комментариев ·
3517 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.