Есть ли способ узнать размер виджета автоматического изменения размера в пикселях, прежде чем размещать этот виджет на lockscreen? Например, когда мы размещаем виджет на lockscreen, тогда начата настройка конфигурации и как это действие может получить размер виджета?Как получить размер виджет-окна lockscreen?
ответ
AFAICT, приложение не может определить размер виджета, пока пользователь не разместит виджет на экране (блокировки или дома). Даже тогда ОС возвращает размер диапазон [Почему?] и, конечно, пользователь может изменить размер виджета.
E.g. добавить отладочный код onUpdate()
метод давал AppWidgetProvider в:
Bundle newOptions = appWidgetManager.getAppWidgetOptions(appWidgetIds[0]);
int minWidth = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH);
int minHeight = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT);
int maxWidth = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH);
int maxHeight = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT);
Log.i("getAppWidgetOptions", String.format(
"getAppWidgetOptions %d x %d .. %d x %d",
minWidth, minHeight, maxWidth, maxHeight));
Запуск на Nexus 4 эмулятора, недавно размещенных отчетов виджетов главного экрана: 240 x 58 .. 302 x 84
в Dp единицах. Это с <appwidget-provider>
XML, который устанавливает:
android:minWidth="180dp"
android:minHeight="40dp"
android:minResizeWidth="180dp"
android:minResizeHeight="40dp"
AppWidgetProvider может обнаружить, когда его виджеты изменить размер перекрывая onAppWidgetOptionsChanged(Context context, AppWidgetManager appWidgetManager, int appWidgetId, Bundle newOptions)
. С аналогичным кодом, как указано выше [но опускайте вызов getAppWidgetOptions()
], он регистрирует диапазоны, такие как 240 x 58 .. 302 x 84
и (после того, как вручную растягивает виджет шире) 328 x 58 .. 408 x 84
.
Даже на экране блокировки виджет может занять пространство экрана с клавиатуры блокировки, если пользователь перетаскивает его, хотя я не уверен, что это изменит эти значения минимального/максимального размера.
- 1. Получить видимость Lockscreen
- 2. Как разблокировать Windows lockscreen?
- 3. Как создать lockscreen
- 4. Как отключить lockscreen в android?
- 5. Android LockScreen
- 6. Как Android Lockscreen получает Coverart?
- 7. Как получить уведомление как всплывающее окно/lockscreen в Android?
- 8. WP8 Get User's Lockscreen
- 9. Как обойти lockscreen в android.?
- 10. Как воссоздать Android 4.0 Lockscreen
- 11. Андроид ICS native lockscreen
- 12. Как получить ключевое событие на на LockScreen Ios быстры
- 13. Деятельность перед Lockscreen
- 14. Изменение текста на lockscreen
- 15. ContactDetailActivity from Lockscreen Activity
- 16. Windows Phone lockscreen icon
- 17. Обновление фона LockScreen
- 18. Запуск приложений с Lockscreen
- 19. Отображать уведомление на lockscreen
- 20. (android) Запуск приложения lockscreen?
- 21. Заставка: Нарисуйте перед lockscreen
- 22. выключение задержки и Lockscreen
- 23. Laravel 5 lockscreen
- 24. Активность Активность lockscreen
- 25. Android: Сделать Lockscreen Opaque
- 26. Widget LockScreen issue
- 27. Android Lockscreen API?
- 28. Начать работу с LockScreen
- 29. Расширяемое уведомление Lockscreen?
- 30. Как запустить активность lockscreen сразу после перезагрузки?
Да. Боюсь, вы правы. Невозможно получить размер области виджета lockscreen. –