Хорошо ли использовать вес макета и относительное расположение для нескольких экранов? - PullRequest
0 голосов
/ 19 марта 2012

Привет дизайнеры Android, 1-мне было интересно. Является ли хорошим подходом к дизайну всегда использовать RelativeLayout и веса макетов, чтобы он работал на экранах нескольких размеров без необходимости иметь разные папки макетов?

2-Другой вопрос, у меня есть текстовое представление с размером 12sp (масштабированный пиксель), которое хорошо смотрится на средних экранах, но когда я запускаю его на большом экране, оно выглядит очень маленьким. Разве это не должно масштабироваться соответственно? Согласно рекомендациям Android, использование sp хорошо для масштабирования. Я считаю, что это действительно проблематично - попытаться угадать правильное число для каждого размера экрана, поскольку 12sp уже заняло несколько догадок, пока я не обнаружил, что это подойдет моему приложению относительно других компонентов

Пожалуйста, поделитесь своим опытом / советом. Я всегда смущен этим Спасибо

Ответы [ 3 ]

1 голос
/ 19 марта 2012

Следует помнить о Dip (пиксели, не зависящие от плотности) и sp (масштабирование пикселей (?)), Что они настроены на экраны с средней плотностью.С введением устройств высокой плотности эти стандарты должны быть пересмотрены Google.

С учетом сказанного:

  1. Мне повезло больше, используя RelativeLayouts ивесов, чем я с использованием явного DIP.Я обычно использую LinearLayout вместо RelativeLayout - но до тех пор, пока элементы позиционируются относительно друг друга, а не абсолютно, совершенно не имеет значения, является ли это RelativeLayout или LinearLayout или чем-то еще полностью.

  2. Вот что происходит - имейте в виду, что 12sp - это «маленький» текст, и он будет «маленьким» текстом на больших экранах.Вместо того, чтобы масштабировать шрифт, масштабируйте TextView - например, отцентрируйте ваш текст в TextView и сделайте так, чтобы ваш TextView занимал половину экрана (используя Weight, независимо от размера экрана).

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

0 голосов
/ 19 марта 2012

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

0 голосов
/ 19 марта 2012

насколько я знаю, Linerlayout и относительная компоновка лучше всего подходят для дизайна xml в android.

Оба они используют разное назначение. Предположим,

case 1: если есть большие данные, например, из db, и выхотите отобразить его на макетах, а затем используйте представление прокрутки вокруг макетов.

case 2: но в случае с diff, как при регистрации в xml, используйте линейные макеты и вес.

, поэтому макет не изменяется при любом размере экрана устройства Android.

Надеюсь, эта помощь может вам помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...