Изменяемые размеры приложений в Android 3.1 - PullRequest
9 голосов
/ 22 июня 2011

Я был рад, что в Android 3.1 появилась поддержка изменяемых размеров приложений, но я не уверен, как заставить их работать на самом деле.

Я не новичок в appwidget, и у меня нет проблем с добавлением

android:resizeMode="horizontal|vertical"

к моему определению приложения XML. И это работает, насколько это возможно, виджет имеет номинальное изменение размера (долгое нажатие на него и появляются маркеры, которые позволяют мне перетащить границу к разным размерам).

Две проблемы, однако:

Во-первых, не похоже, что мой код вызывается при изменении размера виджета. Точка останова, установленная в моем обработчике onReceive(), никогда не получает удар.

Во-вторых, предполагая, что я могу войти в свой код, я нигде не вижу в документах, чтобы получить текущий размер виджета. Я уже использую вызовы AppWidgetProviderInfo.minWidth и .minHeight, но они отражают только минимальные измерения, указанные в XML, они не меняются во время выполнения.

Итак, как на самом деле можно реализовать виджет с изменяемым размером?

1 Ответ

1 голос
/ 14 октября 2012

Я почти уверен, что нет способа получить размер виджета ниже API 16, и нет намеренной трансляции, когда виджет изменен ниже API 16.

Из API 16 был добавлен onAppWidgetOptionsChanged (), и он вызывается, когда размер вашего виджета изменяется, и вы можете получить размер вашего виджета из передаваемого ему пакета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...