2013-03-07 4 views
0

У меня небольшая проблема - у меня есть приложение (виджет домашнего экрана) для Android и выше. Но разные телефоны с другой версией ОС (4.0.4, 4.1.2, 4.2 и т. Д.), А также разные бренды (Samsung, HTC, LG, ...) делают мое приложение отличным.Разные поля WIDGET на разных телефонах с Android 4.0-4.2?

Хорошо, это происходит не всегда, но на некоторых телефонах только Android добавляет автоматические поля к моим собственным - и на некоторых нет !!! Как это возможно и как этого избежать? Похоже, что каждая марка делает это по-своему - это хорошо для них, но плохо для меня :)

EDIT: Я использую dp, а не px. Основная проблема заключается не в dp/px, а в портретных/ландшафтных изменениях. Основная проблема заключается в том, что, например, на телефоне1 у моего виджета нет полей (это похоже на границы экрана), а на других телефонах он имеет автоматические поля, как это должно быть. Когда я добавляю свою собственную маржу поставщику виджета, он имеет эту маржу на телефоне 1, но на других телефонах он имеет (мои поля + автоматические поля). Надеюсь, теперь все ясно :)

ответ

0

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

0

Добро пожаловать в шоу Reality, когда Android не является независимым от платформы, либо Java это не так.

По этой причине один файл android layout.xml должен использовать элементы, которые делают макет приемлемым для всех целевых устройств. Соотношение экрана отличается, точки на дюйме отличается разрешение отличается ... Как передовой практика:

размер использования йра вместо пикселей сделать другой макет для Portait и ландшафтного случае имеют несколько папок, в зависимости от размера экрана (и другого макета)

Надеюсь, это поможет!

+0

Я использую dp вместо px. Основная проблема заключается не в dp/px, а в портретных/ландшафтных изменениях. Основная проблема заключается в том, что, например, на телефоне1 у моего виджета нет полей (это похоже на границы экрана), а на других телефонах он имеет автоматические поля, как это должно быть. Когда я добавляю свою собственную маржу поставщику виджета, он имеет эту маржу на телефоне 1, но на других телефонах он имеет (мои поля + автоматические поля). Надеюсь, теперь понятно: – qkx

+0

было ясно, я предложил сделать несколько макетов, в вашем случае, возможно, потребуется другое устройство. Теоретически не нужно, но практически мои клиенты хотят, чтобы профессиональные gui выглядели одинаково на всех устройствах, особенно, чтобы выглядеть как iphone ... –

+1

точно - макет по устройству. И это то, чего я не хочу делать, я прошу помощи :)) Потому что это, по моему мнению, проблема, которая возникает, когда каждое глупое производство хочет иметь свою собственную «глупую логику и поведение» всего в андроиде и то у вас есть 100 устройств с 20 различными типами поведения ... – qkx