Как разместить несколько размеров виджетов в одном apk? - PullRequest
20 голосов
/ 31 июля 2010

То, что я пытаюсь сделать, это иметь виджет часов разных размеров (то есть 2x2, 3x3, 4x4 и т. Д.) В одном файле apk и операцию конфигурации, чтобы иметь возможность выбрать, какой размер добавить.

Из того, что я узнал из документации:

  1. Размер виджета указан в теге в соответствующем XML-файле
  2. Также в этом файле я настроил действия по настройке для этого провайдера

Так что кажется, что размер является свойством AppWidgetProvider, и мне нужно как-то создать другого провайдера из кода в конфигурации Activity первого ... Или я ошибаюсь, и есть другой способ?

Возможно ли это вообще? :) Мне сказали, что некоторые виджеты могут делать это:)

Заранее спасибо!

P.S. Я прочитал это и это . Первый объясняет, как поместить несколько wigets в один apk, но не ясно, как выбирать между ними во время выполнения. Второй касается изменения макетов, но не размера ...

Ответы [ 3 ]

3 голосов
/ 10 августа 2010

Вы действительно должны сделать это во время выполнения ? Возможно определить несколько виджетов в одном .apk.

Может быть, вы можете посмотреть натрансдроидный источник?Они включают два размера виджета в одном пакете.

AndroidManifest.xml используется Transdroid

1 голос
/ 03 августа 2010

Надеюсь, я правильно прочитал ваш вопрос и думаю, что у меня есть ваш ответ. Я мог бы переписать эту информацию или просто указать вам на нее (поскольку я, скорее всего, не смог бы сделать это справедливо).

http://developer.android.com/guide/topics/appwidgets/index.html#Manifest

Смотрите в разделе «Создание действия по настройке виджета приложения». Пример тоже хорош.

Делая это таким образом, вы, возможно, не сможете установить определенные размеры макета без большого объема редактирования, но при этом сможете настраивать его пользователем (что вы хотите исправить?)

0 голосов
/ 28 июня 2012

У меня та же проблема, и я надеялся найти способ добавить только одну запись в список виджетов, и действие по настройке решило размер, но я понимаю, что это невозможно.

Если подумать, это будет справедливо: если у программы будет право устанавливать размер виджета во время выполнения, он будет злонамеренно увеличивать виджет после добавления в средство запуска и занимать больше ресурсов, чем было разрешено.

Итак, как уже упоминалось выше, решение состоит в том, чтобы добавить несколько поставщиков виджетов и позволить пользователю выбирать желаемый размер. Вы даже можете использовать ту же конфигурационную активность, если параметры не связаны со стилем, а только с цветами или обновляют периодичность.

...