Я работаю над виджетами. На обычном телефоне я бы предпочел, чтобы он был 4x2, заполняя ширину главного экрана. Однако на некоторых более крупных телефонах (например, Samsung Galaxy Mega) пусковая установка имеет ширину в 5 ячеек. Я пытаюсь найти лучший способ автоматически изменить поставщика виджета на 5x3, исходя из размеров ячейки запуска.Как я могу заставить AppWidget автоматически заполнять ширину главного экрана?
В настоящее время у нас есть два поставщика: 4x2 и 5x3. Поскольку мы хотим показать только один (4x2) на телефонах нормального размера (они не поддерживают 5x3), мы выполняем проверку времени выполнения, когда виджет добавляется, чтобы проверить, соответствует ли модель устройства одной из моделей с 5-ячейкой широкая пусковая установка. Затем мы отключим другой компонент поставщика виджета. Тем не менее, это не идеально, так как 5x3 будет временно отображаться в ящике приложения и заставит панель запуска принудительно закрыть, если пользователь попытается ее добавить.
Любые мысли о том, как обойти это? Я понимаю, что я, скорее всего, не смогу точно прочитать размер ширины ячейки, так как есть множество пусковых установок, и API не проверяется. Тем не менее, я думаю, мы все согласны с тем, что должно быть что-то лучше, чем хранить статический список устройств с 5-клеточным экраном (не говоря уже о том, что люди с пользовательскими пусковыми установками могут устанавливать диапазон ширины).
Я коротко подумал об использовании классификаторов папок ресурсов (sw720dp и т. Д.) ... но это все еще не решает проблему определения того, какая ширина пользовательской панели запуска в ячейках.
Спасибо за помощь, Дрю
P.S. Я также понимаю, что здесь был задан аналогичный вопрос: Appwidget Maximum Width that fits all screen sizes без комментариев или ответов. Любой вход был бы высоко оценен.
Спасибо ... это, наверное, лучшее решение. Я предполагаю, что я искал, чтобы не заставить пользователя выполнить настройку. – dennisdrew