Android - Как сделать так, чтобы интерфейс выглядел одинаково на всех устройствах? - PullRequest
2 голосов
/ 28 июля 2010

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

Какие параметры макета или советы / хитрости обычно используются, чтобы приложение выглядело одинаково на всех устройствах?

Спасибо, Крис

Ответы [ 3 ]

3 голосов
/ 28 июля 2010

Я всегда использую «падение» в качестве стандартного единства вместо пикселей, используйте layout_weight, чтобы сделать пропорции

и все мои приложения полностью совместимы с 10-дюймовыми планшетными устройствами и небольшими смартфонами с 3,2-дюймовым экраном!

1 голос
/ 28 июля 2010

Убедитесь, что вы понимаете разницу между wrap_content и fill_parent на макетах.В элементах, которые расположены вертикально (например, список), вы почти всегда захотите wrap_content по высоте и fill_parent по ширине.И наоборот, для элементов, расположенных горизонтально.

Как сказал Profete162, всегда предпочитайте единицу dip (ее можно рассматривать как размер абстрагированного пикселя).Это помогает гарантировать, что различные плотности разрешения не нарушают жестко заданную ширину и высоту.В идеале, в вашем коде темы не должно быть упоминания dip, но то, что хорошо в теории, не всегда прагматично на практике.

В наши дни никогда не следует использовать px для размерачто-то.

1 голос
/ 28 июля 2010

Для начала вы можете попробовать позиционировать и масштабировать элементы пользовательского интерфейса в процентах от экрана (например, расположить кнопку на 75% экрана). В других случаях, например, к окну, прикрепленному справа от экрана, просто получите ширину экрана минус размер окна и поместите его туда.

...