Лучше ли оборачивать LinearLayouts / RelativeLayouts / др. С помощью ScrollView, чтобы быть в безопасности? - PullRequest
0 голосов
/ 11 октября 2018

При всех различных размерах экрана (как книжном, так и альбомном) лучше всего обернуть обычные макеты (RelativeLayout, LinearLinear и т. Д.) В ScrollView, если есть даже вероятность того, что контент выходит за пределы экрана.?Есть ли лучший подход?

Обновление Вопрос: А как насчет пользовательских завышенных просмотров?Применяется ли тот же подход?

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

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

Тем не менее, по моему собственному опыту, я частосозданные макеты, которые используют ScrollView + LinearLayout, даже когда я знаю, что мой контент будет соответствовать большинству телефонов.Я сделал это, потому что (1) я хочу поддерживать как книжную, так и альбомную ориентации (а у ландшафта часто не хватает высоты, чтобы отобразить все) и (2), потому что я хочу поддерживать любое устройство, которое могут иметь мои пользователи (и некоторые людиу меня действительно очень маленькие телефоны).

Хитрость заключается в том, чтобы различать случаи, когда ваш LinearLayout просто разбивает экран на части по сравнению со случаями, когда ваш LinearLayout является родителем для некоторого количества просмотров, каждое изих собственная фиксированная высота.Два Button s рядом друг с другом, каждый занимает 50% ширины экрана, очевидно, не хотят ScrollView вокруг них.Но форма из восьми EditText полей друг над другом может быть хорошо заключена в ScrollView, даже если все восемь помещаются на экране вашего персонального устройства просто отлично.

Недостатки наличия«extra» или «бесполезный» ScrollView на более крупных телефонах настолько мал, что я никогда об этом не беспокоился.Один дополнительный экземпляр View не повредит производительности и не израсходует слишком много дополнительной памяти.Впрочем, преимущества использования вашего приложения на крошечных экранах того стоят.

0 голосов
/ 11 октября 2018

Существует несколько возможных случаев: если ваш макет представляет собой статический макет, только кнопки, текстовые представления и т. Д., То вы можете просто просмотреть различные размеры экрана в Android Studio и убедиться, что макет работает нормально для устройств, которые вы поддерживаете.Если ваш макет динамический, как ListView, RecyclerView, который получает динамический набор данных, всегда полезно сделать ScrollView родительским.

Это отвечает на ваш вопрос?Пожалуйста, ответьте, если требуется дальнейшее объяснение.

...