Should all screens be scrollable to account for screen rotation?

Viewed 67

Some context

I'm developing a simple application that has a login screen. I noticed that when I rotate the screen in the emulator, the contents of the screen get cut off. The login screen just has a textview, imagelogo, and a username and password edit text. The fact that it gets cut off when rotated makes sense, but it got me thinking.

Main question

Should I make all my screens in my application scrollable, via NestedScrollViews/ScrollViews to specifically account for users that rotate their Android phone? Not just in this particular application, but going forward? Since some people rotate their phones, what I think fits well on a phone that is in portrait mode won't in landscape mode.

Another option I thought was to set the activity locked to portrait mode, but even Android is giving me a message that I shouldn't. Something to the effect that it would impede users experience if the orientation is locked.

3 Answers

It's true, many apps don't follow the recommendations of properly supporting both orientations. Sadly I have worked on many apps like that I always try to ask change that mindset when possible.

However, supporting landscape on phones is not as simple as putting everything into a scrollable container. (Although this is a good solution for some screens!)

Should I make all my screens in my application scrollable, via NestedScrollViews/ScrollViews (...)

Answering your "main question", I recommend against doing that without giving it any thoughts! You need a more nuanced approach. It doesn't mean you need different approach for each screen, nor that you need twice as many designs from now on (one for each orientation).

You'll probably find that screens with lists don't require so many changes. And that's possibly most of your app. And it's also true that adding a scrolling container probably solves most of the other screens. Just don't expect a simple fix that you can apply to all screens.

I would also like to point out that what you just discovered by rotating the screen, in fact, may have uncovered that your screen might also be broken in portrait orientation. Just for phones smaller than yours, or maybe for users who is big fonts, or a combination of those factors (and others). Or maybe users with really big phones (or small fonts) may have gaps that are way bigger than you realise, and/or you are not taking advantage of the extra space on that device.

At the end of the day, most of the work here is thinking how the different views should flex when space gets very tight or very spaced out. The AS tools allow you to quickly change the layout preview size, so you can quickly see how the same layout would look in narrow, wide, tall and short screens. Make sure things look reasonable in those conditions. With some experience, you can do that with a single layout.

If you haven't read this, this is an interesting read: https://developer.android.com/guide/practices/compatibility

  1. If your app no need support landscape mode you should fix orientation by setting in Manifest file.
  2. If you want to support device rotate best practice you should declare different layout (same layout name but in folder layout-land). About your question should make scrollable I think it depend on your UI/UX. When in landscape mode you can design UI by horizontal.

From a UX point of view, you should work out the app in both vertical and horizontal mode. You're right, some people turn their smartphone over to see the screen better. Therefore, don't block ability to switch to landscape mode. You make an app for users, so first of all think about their convenience.

Related