Android 是否所有屏幕都应可滚动以说明屏幕旋转? 一些背景

Android 是否所有屏幕都应可滚动以说明屏幕旋转? 一些背景,android,android-layout,Android,Android Layout,我正在开发一个具有登录屏幕的简单应用程序。我注意到,当我在emulator中旋转屏幕时,屏幕上的内容被切断。登录屏幕只有一个textview、imagelogo和一个用户名和密码编辑文本。旋转时它会被切断这一事实是有道理的,但它让我思考 主要问题 我是否应该通过NestedScrollViews/ScrollViews使我的应用程序中的所有屏幕都可滚动,以便专门为旋转其Android手机的用户记帐?不仅仅是在这个特定的应用程序中,而是在未来?因为有些人会旋转手机,所以我认为适合纵向模式的手机不会

我正在开发一个具有登录屏幕的简单应用程序。我注意到,当我在emulator中旋转屏幕时,屏幕上的内容被切断。登录屏幕只有一个textview、imagelogo和一个用户名和密码编辑文本。旋转时它会被切断这一事实是有道理的,但它让我思考

主要问题 我是否应该通过
NestedScrollViews
/
ScrollViews
使我的应用程序中的所有屏幕都可滚动,以便专门为旋转其Android手机的用户记帐?不仅仅是在这个特定的应用程序中,而是在未来?因为有些人会旋转手机,所以我认为适合纵向模式的手机不会适合横向模式

我认为另一个选择是将活动锁定为纵向模式,但即使是Android也给了我一个信息,我不应该这样做。如果方向被锁定,会妨碍用户体验的东西

  • 若你们的应用不需要支持横向模式,你们应该通过在清单文件中设置来修正方向
  • 若要支持设备旋转最佳实践,应声明不同的布局(相同的布局名称,但位于文件夹布局区域)。关于你的问题应该是可滚动的,我认为这取决于你的UI/UX。在横向模式下,您可以按水平方向设计UI

  • 从用户体验的角度来看,你应该在垂直和水平模式下开发应用程序。你说得对,有些人把智能手机翻过来看屏幕。因此,不要阻止切换到横向模式的能力。
    你为用户制作一个应用程序,所以首先要考虑他们的便利性。

    的确,许多应用程序没有遵循正确支持两种方向的建议。可悲的是,我已经开发了很多这样的应用程序,我总是试图在可能的情况下要求改变这种心态

    然而,支持手机上的风景并不像把所有东西都放到一个可滚动的容器中那么简单。(尽管对于某些屏幕来说这是一个很好的解决方案!)

    我应该通过NestedScrollView/ScrollView(…)使应用程序中的所有屏幕都可滚动吗

    在回答你的“主要问题”时,我建议你不要不假思索地这样做!你需要更细致的方法。这并不意味着每个屏幕需要不同的方法,也不意味着从现在起需要两倍的设计(每个方向一个)

    您可能会发现带有列表的屏幕不需要太多更改。这可能是你的大部分应用程序。另外,添加滚动容器可能会解决大多数其他屏幕的问题。只是不要期望一个简单的修复可以应用于所有屏幕

    我还想指出,你刚才通过旋转屏幕发现,事实上,可能已经发现你的屏幕也可能在纵向方向上断裂。只适用于比您的手机更小的手机,或者是大字体的用户,或者是这些因素(以及其他因素)的组合。或者,使用大手机(或小字体)的用户可能会有比您意识到的更大的差距,和/或您没有利用该设备上的额外空间

    在一天结束时,这里的大部分工作是思考当空间变得非常紧张或非常分散时,不同的视图应该如何伸缩。AS工具允许您快速更改版面预览大小,以便快速查看同一版面在窄、宽、高和短屏幕中的外观。确保在这些条件下事情看起来合理。有了一些经验,你可以用一个布局来完成


    如果你还没有读过这篇文章,这是一篇有趣的文章:

    请不要在你的问题中包含“谢谢”,或者更糟糕的是“高级感谢”。请参阅此处:和此处:了解更多信息。我建议您不要扭曲所有可滚动的屏幕,除非您有理由这样做。一般来说,最好重新设计UX,以防止不必要的滚动。这两个小部件(NestedSV和SV)本身都有问题,会降低UI的性能。如果必须,那么是的,您将需要(使用嵌套)。请记住,嵌套ScrollView中的recyclerviews可以工作,但它们失去了您从使用RV开始时获得的一些好处)。无论如何,这个问题没有明确的答案。大多数应用程序在不应该锁定Portraint时锁定Portraint。警告是要让你考虑一下但老实说,如果你真的想提供一个风景画和肖像画的体验,你需要使用更先进的技巧,而不仅仅是在任何东西上打滚动。。。(多窗格视图等)这是一个痛苦、可怕的过程,就像垃圾一样,但没有“替代品”。请记住,强制特定方向对平板电脑用户来说是非常糟糕的(假设许多人将以横向方向使用你的应用程序,并且可能不需要在特定屏幕上滚动)