Определите homescreen' s appwidgets делают интервалы между размером сетки

Я развивал виджет приложения изменяемого размера для таблеток. Работы виджета приложения, хорошие на большинстве устройств с большинством пусковых установок, однако есть некоторые проблемы с ориентацией особенно на Пусковой установке ИДТИ-HD в режиме портрета. Высота виджета приложения слишком большая и не выглядит хорошей.

Чтобы иметь дело с этим, я создал метод, чтобы позволить пользователю устанавливать любые дополнительные края в космосе виджета приложения, он хочет заставить его выглядеть хорошим. Например, он может установить дополнительное верхнее поле на 20 пикселей, когда устройство находится в режиме портрета и только 5 пикселей когда в пейзаже и т.д.

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

Таким образом, мой вопрос:

Там какой-либо путь состоит в том, чтобы заставить размер (или близко к нему) ячейки сетки что прикладное использование пусковой установки помещать виджеты приложения на домашний экран? Обратите внимание на то, что я знаю о том, что не все пусковые установки после формул Android для этого, но что я хочу, должны получить способ вычислить приближение его.

----ОТРЕДАКТИРУЙТЕ----

Чтобы лучше понять мою проблему, я создал снимок экрана:

shot

В первую очередь, образование виджета приложения - форма xml файл без графики или размеров вообще. Это до Android, чтобы потянуть его в свободном месте. По-моему, это - лучший дизайн GUI (по крайней мере, с фоном). Теперь в экране 1 вы видите виджет в режиме портрета в дефолте пусковая установка Android, это выглядит очень хорошим, и это изменяет размеры хорошо. В экране 2 и 3 вы видите его в пусковой установке ИДТИ-HD (пейзаж и режим портрета) в этой пусковой установке, это выглядит довольно маленьким в альбомном режиме и очень большим в режиме портрета. Я могу решить эту проблему, позволив пользователю приспособить края, как вы видите в экране 4.

Если вы сравниваете предварительный просмотр (темная область в центре экрана 4) с виджетом исходного приложения в пусковой установке андроида по умолчанию, вы видите, что есть не хороший матч. То, что я спрашиваю, - то, как может я представлять пользователю лучший предварительный просмотр (самый близкий к виджету реального приложения).

Спасибо и пожалуйста простите моему английскому языку

3
Wouldn' t это быть более простым и более надежным, чтобы придумать дизайн GUI, который более гибок и может с большей готовностью приспособить различные размеры ячейки и т.п.?
добавлено автор CommonsWare, источник
@CommonsWare, пожалуйста, смотрите на мой редактировать.Thank you
добавлено автор Christos, источник
@CommonsWare, пожалуйста, смотрите на мой редактировать.Thank you
добавлено автор Christos, источник

6 ответы

Вы осуществили AppWidgetProvider.onAppWidgetOptionsChanged (Контекст, AppWidgetManager, интервал, Связка) ? Все пусковые установки хорошего поведения должны сообщить о некоторых метриках о вашем помещенном виджете, который можно восстановить от связки, используя код как:

int minwidth_dp = bundle.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH);
int maxwidth_dp = bundle.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH);
int minheight_dp = bundle.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT);
int maxheight_dp = bundle.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT);

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

Пусковая установка запаса наносит на карту их к различным ориентациям как так:

minwidth -> portrait width
minheight -> landscape height
maxwidth -> landscape width
maxheight -> portrait height

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

Поочередно, некоторые пусковые установки могут сообщить о метриках текущей ориентации и в минуту - и в макс. - ценности, и просто вызвать вас снова с новыми метриками, когда ориентация изменяется. Однако, если вы только интересуетесь текущей ориентацией, поведение этих пусковых установок совместимо с той из пусковой установки запаса.

2
добавлено
Я don' t думают you' ре, собирающееся добираться немного лучше, чем onAppWidgetOptionsChanged. Возможно, вы могли иметь свое начало деятельности конфигурации очень короткий таймер и затем закончить() немедленно. Затем когда onAppWidgetOptionsChanged называют, или таймер истекает, вы можете startActivity() сами. Вероятно, самый большой недостаток к этому подходу то, что пользователь wouldn' t быть в состоянии отменить добавление виджета, так как это было технически уже добавлено. Но я просто can' t воображают, как вы могли получить любые удаленно надежные метрики любой другой путь.
добавлено автор j__m, источник
Нет к моему знанию никакого способа получить эти метрики на версиях низкого уровня.
добавлено автор j__m, источник
Спасибо за ваш ответ идея использовать onAppWidgetOptionsChanged, чтобы получить метрики, пришла в мою голову. Однако, это не может использоваться в моей ситуации, потому что я хочу знать метрики для каждой ориентации независимо от текущих параметров настройки устройства, кроме того, и самый важный, я хочу метрики, прежде чем виджет будет добавлен на homescreen т.е. в деятельности конфигурации. Так или иначе большое спасибо в течение вашего времени и для очень хорошо зарегистрированного ответа.
добавлено автор Christos, источник

Там какой-либо путь состоит в том, чтобы заставить размер (или близко к нему) ячейки сетки что прикладное использование пусковой установки помещать виджеты приложения на домашний экран?

Нет. Каждый разработчик домашнего экрана может сделать то, чего желает тот разработчик.

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

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

0
добавлено
@Christos: "Любая идея приветствуется" - моя идея не состоит в том, чтобы волноваться об этом. Вашим собственным приемом другие испытывают то же самое поведение. Все же их приложения загружаются и, по-видимому, не получают плохие рейтинги из-за немного непорядочного поведения их виджетов приложения, когда они первоначально добавляются к users' выбранные домашние экраны.
добавлено автор CommonsWare, источник
@Jose_GD я работаю над возможным решением моей проблемы, на основе результатов, я возвращусь и или отправлю его или приму лучший ответ, даже если это скажет что это isn' t возможный. Этот случай все еще открыт, но спасибо за ваше предложение так или иначе.
добавлено автор Christos, источник
Спасибо за ответ. Я, уже знают первую часть (очень хорошо:)). Что касается второго я на самом деле попробовал связку других виджетов, и у всех изменяемого размера есть те же самые проблемы с не "стандартные" пусковые установки. Не изменяемого размера не имел никаких проблем, но я должен создать изменяемого размера. Что касается дизайна я действительно не могу выяснить, как различный дизайн изменяемого размера может решить эту проблему. Любая идея приветствуется. Еще раз спасибо.
добавлено автор Christos, источник
@Christos you' приветствие ре. Я буду следовать за этим вопросом, I' m заинтересованный, на какой you' ре, пытающееся достигнуть
добавлено автор Jose_GD, источник
@Christos я думаю, что это - правильный ответ и необходимо принять его. Даже когда это говорит "жаль, это isn' t возможный" как это.
добавлено автор Jose_GD, источник

Там какой-либо путь состоит в том, чтобы заставить размер (или близко к нему) ячейки сетки что прикладное использование пусковой установки помещать виджеты приложения на домашний экран?

Нет. Каждый разработчик домашнего экрана может сделать то, чего желает тот разработчик.

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

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

0
добавлено
@Christos: "Любая идея приветствуется" - моя идея не состоит в том, чтобы волноваться об этом. Вашим собственным приемом другие испытывают то же самое поведение. Все же их приложения загружаются и, по-видимому, не получают плохие рейтинги из-за немного непорядочного поведения их виджетов приложения, когда они первоначально добавляются к users' выбранные домашние экраны.
добавлено автор CommonsWare, источник
@Jose_GD я работаю над возможным решением моей проблемы, на основе результатов, я возвращусь и или отправлю его или приму лучший ответ, даже если это скажет что это isn' t возможный. Этот случай все еще открыт, но спасибо за ваше предложение так или иначе.
добавлено автор Christos, источник
Спасибо за ответ. Я, уже знают первую часть (очень хорошо:)). Что касается второго я на самом деле попробовал связку других виджетов, и у всех изменяемого размера есть те же самые проблемы с не "стандартные" пусковые установки. Не изменяемого размера не имел никаких проблем, но я должен создать изменяемого размера. Что касается дизайна я действительно не могу выяснить, как различный дизайн изменяемого размера может решить эту проблему. Любая идея приветствуется. Еще раз спасибо.
добавлено автор Christos, источник
@Christos you' приветствие ре. Я буду следовать за этим вопросом, I' m заинтересованный, на какой you' ре, пытающееся достигнуть
добавлено автор Jose_GD, источник
@Christos я думаю, что это - правильный ответ и необходимо принять его. Даже когда это говорит "жаль, это isn' t возможный" как это.
добавлено автор Jose_GD, источник

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

0
добавлено
Не ясный из вашего вопроса, что вы также используете различные края для портрета/альбомных макетов (только, что вы позволяете пользователям регулировать края для ориентации). Возможно, вы делаете обоих?
добавлено автор paul, источник
Я сожалею, если мой вопрос вводит в заблуждение о краях (мои англичане - not' t настолько хороший, таким образом, это может быть). Однако, о создании экрана предварительного просмотра а не о расположении виджета приложения. Спасибо так или иначе.
добавлено автор Christos, источник
мне что вы didn' кажется; t читают мой вопрос. Это точно, что я делаю. Я - просто попытка создать надежный предварительный просмотр.
добавлено автор Christos, источник

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

0
добавлено
Не ясный из вашего вопроса, что вы также используете различные края для портрета/альбомных макетов (только, что вы позволяете пользователям регулировать края для ориентации). Возможно, вы делаете обоих?
добавлено автор paul, источник
Я сожалею, если мой вопрос вводит в заблуждение о краях (мои англичане - not' t настолько хороший, таким образом, это может быть). Однако, о создании экрана предварительного просмотра а не о расположении виджета приложения. Спасибо так или иначе.
добавлено автор Christos, источник
мне что вы didn' кажется; t читают мой вопрос. Это точно, что я делаю. Я - просто попытка создать надежный предварительный просмотр.
добавлено автор Christos, источник

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

Я думаю, что реальный ответ на оригинальный вопрос мог бы быть должен установить размер виджета самостоятельно, или возможно просто высоту, так как это, кажется, проблема в снимках экрана. В вашем наборе расположения layout_height = "dimen/my_perfect_height" и пусковая установка сосредоточит его в клетке. Если вам нужно немного гибкости, можно использовать несколько различных расположений с различными метриками и позволить пользователю выбрать между ними. И конечно, у вас не будет проблемы при предварительном осмотре той высоты, так как вы - тот, устанавливающий ее.

0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

Android Developers
Android Developers
4 476 участник(ов)

Общаемся на темы, посвященным Android-разработке, SDK, Kotlin, Realm и т.д.

Android Architecture
Android Architecture
2 186 участник(ов)

Русскоязычный чат по архитектуре в андроид приложениях. Подробнее: http://telegra.ph/Android-Architecture-12-24

rus-speaking/android
rus-speaking/android
1 705 участник(ов)

Основной чат по Android разработке (вопрос-ответ). ПРАВИЛА: bit.ly/andr-rules. NEWS: bit.ly/AnrdResId ЧАТЫ: Основной: bit.ly/andr-main IDE, сборка, Git, сервисы: bit.ly/andr-tools Оффтоп: bit.ly/andr-offtop Конференции, события: bit.ly/andr-events Вакансии, найм: bit.ly/andr-job Архитектура: bit.ly/andr-patterns Rx: bit.ly/andr-rx Тестирование: bit.ly/andr-test Kotlin: bit.ly/andr-kotlin Хаmarin: bit.ly/andr-xamarin За мат, спам, агрессию, предложения о работе, оффтоп в этом канале - бан на сутки и более ☢☢☢

Android Dev Подкаст
Android Dev Подкаст
1 325 участник(ов)

Комната для обсуждения Android Dev подкаста apptractor.ru/AndroidDev/ Общее обсуждение Android: https://t.me/android_ru Остальные чаты про Android: http://t.me/devChats Наши новости https://t.me/androiddevpodcast_news

Android Guards
Android Guards
602 участник(ов)

Обсуждение любых вопросов касающихся безопасности Android. - Защита системы и приложений - Уязвимости и эксплойты - Вредоносное ПО - Копание в кишках системы и приложений (RE)

Android JOB
Android JOB
466 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению Android (full-time, part-time, remote и разовые подработки)

AndroidDev :: Разработка. It's Android time now!
AndroidDev :: Разработка. It's Android time now!
458 участник(ов)

It's Android time now! Чат разработчиков Android. Вакансии, резюме и информацию о митапах размещать можно. Публикацию скрытой и явной рекламы ваших каналов и сайтов после получения разрешения от @olegushakov

Aandroid Talks!
Aandroid Talks!
212 участник(ов)

Чат об общих вопросах по ОС Android. Чат для разработки под андроид - pro.android: https://t.me/joinchat/AAAAAEKIFKnmRT9cMebb9w

Android Rus
Android Rus
68 участник(ов)