Виджет Android: previewImage size

У меня есть виджет на Android, для которого я устанавливаю previewImage. К сожалению, у меня возникают проблемы с размером хорошего виджета: если он слишком большой, он обрезается в нижней части кадра.

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

Кто-нибудь может знать, где искать эту информацию?

Спасибо.

Ответ 1

В эмуляторе есть приложение для создания предварительного просмотра с нужным размером:

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

Мое предложение состояло в том, чтобы захватить PreviewImage вашего виджета с этим приложением, а затем посмотреть размер.

Ответ 2

Согласно моим тестам, виджет-виджет связан с файлом виджета XML.

Предварительный просмотр виджета для виджета 1x1:

размер изображения: ширина = 138 пикселей, высота = 138 пикселей

xml определение файла: android: minHeight = "50dp" , android: minWidth = "50dp"

Предварительный просмотр виджета для виджета 2x1:

размер изображения: ширина = 236 пикселей, высота = 138 пикселей

xml определение файла: android: minHeight = "50dp" , android: minWidth = "120dp"

Ответ 3

Я бы предположил, что размер вашего предварительного просмотра должен напрямую отражать размер "по умолчанию" вашего виджета.

В соответствии с сайтом Android: http://developer.android.com/guide/practices/ui_guidelines/widget_design.html

Он дает руководство по размеру "ячейки" виджета: 70dp × n − 30dp (где n - количество ячеек)

Итак, например, виджет 2x1 cell будет: 110x40, 165x60 и 220x80 в MDPI, HDPI и XHDPI соответственно.

Из опыта, хотя, и мне еще не удалось подтвердить это еще на 100%, на устройствах XXHDPI (Nexus 10 и т.д.) это правило перестает быть актуальным, так как размер ячейки больше.

Ответ 4

Поскольку в этой теме в Интернете нет ничего, и здесь нет определенного ответа, это некоторые мои наблюдения:

  • Приложение определенно рисует изображения из папок mdpi, hdpi и xhdpi, поэтому имеет смысл иметь разные разрешения для этих папок.
  • Я думаю, что нет смысла прикладывать разрешение пикселей к размеру ячейки - там одинаковое пространство для всех виджетов
  • Основываясь на предыдущем, и при наблюдении, что Google использует 201 вертикальный размер для своего предварительного просмотра виджета, как указано здесь, имеет смысл использовать это для вертикального разрешения и умножать на коэффициент ячеек для горизонтального разрешения. Вероятно, существует некоторое горизонтальное значение, выше которого вы должны делать обратное (вычислять вертикальное разрешение по горизонтали), но на данный момент лучше всего угадать его...
  • Не всегда полезно использовать прямое изображение из предварительного просмотра Widget из эмулятора (хотя эта функция вызывает ошибку на моем эмуляторе). Обычно лучше, если предварительный просмотр занимает большую часть изображения, поэтому на изображении не должно быть прокрутки. Я думаю, Google использует это, чтобы сделать его просмотр цифровых часов большим.

Ответ 5

Приложение Gmail имеет один png в drawable-nodpi-v4, размер 638x504.