#android-layout
#android-layout
Вопрос:
Я занимаюсь проектом в университете, я хотел бы знать, как я могу использовать liquid layout в Android, чтобы приложение разных размеров экрана отображалось в соответствии с его разрешением?
Простыми словами, я хотел бы создать приложение, макет которого идеален для всех типов экранов
Я знаю, как создать его в простом html / css на веб-сайтах для ПК, но как это сделать в Android?
Может кто-нибудь, пожалуйста, дать предложения / ссылку на помощь / учебник?
Спасибо, Усман
Ответ №1:
Android предоставляет «жидкие» макеты «из коробки» — размеры макета и содержащиеся в нем элементы автоматически адаптируются к разрешению экрана. Это изящно обрабатывается фреймворком Android. Доступны различные типы макетов (LinearLayout, FrameLayout и т.д.), Поэтому вам нужно тщательно проверить, какой тип макета лучше для вас.
Вам следует избегать AbsoluteLayout. Хотя это правда, что он позволяет указывать точные местоположения (координаты x / y) своих дочерних элементов, он менее гибкий и его сложнее поддерживать, чем другие типы макетов без абсолютного позиционирования. В любом случае, теперь он устарел.
Полезные ссылки:
- Чтобы узнать больше о различных макетах, смотрите:http://developer.android.com/guide/topics/ui/layout-objects.html
- Хорошие учебные пособия также доступны здесь:http://developer.android.com/resources/tutorials/views/index.html в разделе «Макеты».
- Документ AbsoluteLayout:http://developer.android.com/reference/android/widget/AbsoluteLayout.html
Обновить:
Сам макет автоматически адаптируется к различным разрешениям, но вам нужно помнить, что элементы, содержащиеся в макете, могут выглядеть по-разному. Одно и то же изображение будет меньше на экране с высоким разрешением, чем на экране с низким разрешением. К счастью, Android предоставляет простой способ справиться с этой проблемой. Вы можете предоставлять разные изображения в зависимости от разрешения, которое имеет устройство (это небольшое упрощение, потому что помимо разрешения важны и другие факторы, например, плотность пикселей). По тому же принципу также возможно предоставить другой макет, но это не так часто.
Ссылки:
- Поддержка полной истории на нескольких экранах:http://developer.android.com/guide/practices/screens_support.html
- Пример кода:http://developer.android.com/resources/samples/MultiResolution/index.html
Комментарии:
1. Большое спасибо! Но, например, один пользователь использует устройство, подобное IDEOS huawei, с экраном 2,7 дюйма, а второй пользователь использует Samsung Galaxy tab с огромным экраном, сможет ли Android сам обрабатывать разрешение экрана? Большое спасибо!