Я создаю виджет и хочу, чтобы пользователь мог выбирать размер виджета в меню во время настройки. Моя проблема в том, что в xml метаданных appwidget-provider размер блока уже установлен до того, как действие конфигурации уже введено. Мне нужно иметь возможность сбросить информацию о виджете, который содержит размер блока (minHeight, minWidth), без необходимости добавлять отдельные виджеты разных размеров. Любые идеи?
Как изменить размер виджета после его выбора в меню виджетов
Ответы (1)
Ты не сможешь это сделать. Это ограничение Android. Создайте несколько виджетов разных размеров, назовите их как «YourWidget (маленький)», «YourWidget (большой)» и т. Д. Или «YourWidget 1x1» и «YourWidget 2x1». Вам понадобится несколько почти идентичных appwidget-provider xml ...
Поскольку вам также понадобятся почти идентичные классы провайдера и конфигурации, определите там базовые классы со всем необходимым кодом, а затем наследуйте от них, примерно так:
открытый класс WidgetProvider2x1 расширяет WidgetProvider {@Override int getWidgetStyle () {return WidgetProvider.WIDGET_STYLE_2x1; }}
вызовите getWidgetStyle () в базовом классе, когда вам нужно узнать размер вашего виджета.
person
haimg
schedule
06.01.2011