Как создать жидкий макет в Android

#android-layout

#android-layout

Вопрос:

Я занимаюсь проектом в университете, я хотел бы знать, как я могу использовать liquid layout в Android, чтобы приложение разных размеров экрана отображалось в соответствии с его разрешением?

Простыми словами, я хотел бы создать приложение, макет которого идеален для всех типов экранов 🙂

Я знаю, как создать его в простом html / css на веб-сайтах для ПК, но как это сделать в Android?

Может кто-нибудь, пожалуйста, дать предложения / ссылку на помощь / учебник?

Спасибо, Усман

Ответ №1:

Android предоставляет «жидкие» макеты «из коробки» — размеры макета и содержащиеся в нем элементы автоматически адаптируются к разрешению экрана. Это изящно обрабатывается фреймворком Android. Доступны различные типы макетов (LinearLayout, FrameLayout и т.д.), Поэтому вам нужно тщательно проверить, какой тип макета лучше для вас.

Вам следует избегать AbsoluteLayout. Хотя это правда, что он позволяет указывать точные местоположения (координаты x / y) своих дочерних элементов, он менее гибкий и его сложнее поддерживать, чем другие типы макетов без абсолютного позиционирования. В любом случае, теперь он устарел.

Полезные ссылки:

Обновить:

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

Ссылки:

Комментарии:

1. Большое спасибо! Но, например, один пользователь использует устройство, подобное IDEOS huawei, с экраном 2,7 дюйма, а второй пользователь использует Samsung Galaxy tab с огромным экраном, сможет ли Android сам обрабатывать разрешение экрана? Большое спасибо!