您应用的 UI 设计不依赖于特定的设备尺寸。Android 应用需要适应多种不同类型的设备,从 4 英寸手机到 50 英寸电视,再到具有可调整大小窗口的 ChromeOS 设备。
您的应用用户界面绘制在一个窗口内,窗口的大小可以随意更改。您可以使用资源限定符为不同的窗口大小提供不同的布局。这些差异可能是由于设备屏幕大小的限制,也可能是由于用户使用多窗口模式更改窗口大小造成的。
设计响应式内容
您应该为所有用户提供丰富的体验,因此您应该让应用中的每个屏幕充分利用可用的窗口空间。
例如,在一个占据手机屏幕全宽的窗口中运行的应用,在进入多窗口模式时可能会隐藏部分内容的详细信息,并且在占据 ChromeOS 设备屏幕全宽的窗口中运行时,它可以扩展其用户界面以提供更多内容。
除了满足这些用户期望之外,通常还需要在更大的设备上提供更多内容,以避免留下太多空白或无意中引入尴尬的交互。在下图中,您可以看到在调整用户界面设计以适应更大的窗口时可能出现的一些问题。
图 1. 在大宽度窗口上内容不足会导致尴尬的空白和过长的行长。
要了解有关设计响应式导航体验的更多信息,请参阅响应式 UI 的导航。
提供量身定制的用户体验
提供独特的体验非常重要,这些体验不仅仅是扩展内容视图以填充可用空间。您可以定制用户界面以针对给定的窗口大小提供理想的用户体验,甚至可以使用完全不同的布局和小部件。
在图 2 中,当有足够的垂直空间时,BottomNavigationView
用作顶级导航。当窗口大小减小时,如图的右侧所示,顶级导航改为使用DrawerLayout
。
图 2. 当垂直空间有限时,底部导航栏将被导航抽屉替换。
以下是一些其他示例
Toolbar
可以根据可用空间的大小显示或隐藏操作菜单项。RecyclerView.LayoutManager
可以更改其跨度计数以充分利用窗口的大小。- 您可以根据可用空间增加自定义视图显示的详细信息量。
这些都是确保用户在任何地方运行您的应用都能获得出色体验的好方法。
您可以在material.io上找到更多响应式设计模式和自适应布局创意的示例。