Должны ли все экраны иметь возможность прокрутки для учета поворота экрана? - PullRequest
2 голосов
/ 09 мая 2020

Некоторый контекст

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

Основной вопрос

Следует ли мне сделать все мои экраны в моем приложении прокручиваемыми с помощью NestedScrollViews / ScrollViews, чтобы специально учитывать пользователей, которые меняют свои Android Телефон? Не только в этом конкретном приложении, а в будущем? Поскольку некоторые люди поворачивают свои телефоны, то, что, как мне кажется, хорошо подходит для телефона, который находится в портретном режиме, не будет в ландшафтном режиме. 1016 * сообщает мне, что мне не следует этого делать. Что-то вроде того, что если ориентация заблокирована, это затруднит взаимодействие с пользователем.

Ответы [ 3 ]

1 голос
/ 22 мая 2020

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

Следует ли мне сделать все мои экраны в моем приложении прокручиваемыми с помощью NestedScrollViews / ScrollViews (...)

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

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

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

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

Если вы не читали это, это интересное чтение: https://developer.android.com/guide/practices/compatibility

0 голосов
/ 22 мая 2020

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

0 голосов
/ 09 мая 2020
  1. Если ваше приложение не нуждается в поддержке ландшафтного режима, вы должны исправить ориентацию, установив в файле манифеста. папка layout-land). По поводу вашего вопроса должен быть прокручиваемым, я думаю, это зависит от вашего UI / UX. В ландшафтном режиме пользовательский интерфейс можно проектировать по горизонтали.
...