Как было предложено, у вас нет другого способа, кроме как реализовать onAppWidgetOptionsChanged
у вашего поставщика виджета - уровень API < У 16 пользователей этой функции пока не будет.
Чтобы скрыть кнопки при уменьшении виджета, ваш виджет должен вести себя аналогично виджету погоды, приведенному в качестве примера на сайте Android Design, в соответствии с шаблоном «Widgets» (фактически на самом деле приложения). Вы показываете меньше кнопок, когда виджет сжимается, увеличивается количество кнопок, увеличивая видимость кнопок.
В onAppWidgetOptionsChanged
, используя значения, приведенные в NewOptions Bundle, вы должны обнаружить изменения в ширину и высоту и установить ведра размер, как советовали в документации (из того же дизайна страницы):
Фактически, поскольку пользователь изменяет размер виджета, система ответит диапазоном размеров dp , в котором ваш виджет может перерисовать себя. Планирование стратегии изменения размера виджета по «размерным ковшикам», а не переменной Размеры сетки дадут вам самые надежные результаты.
Что действительно сложное - Как определить эти ведра. Пакет newOptions имеет значения min_width, min_height, max_width и max_height, которые существенно различаются между устройствами, плотностью экрана, пусковыми установками и т. Д. К сожалению, команда Android не показывала нам, как это сделать, и есть несколько примеров кода onAppWidgetOptionsChanged
в сети, большинство из них очень просты.
Вы разрабатываете правила человека! – Piovezan
Ха-ха, спасибо! – BarryBostwick