我的应用程序根据屏幕配置显示单窗格 UI 或两窗格 UI。在较小的屏幕上,纵向和横向都应该是一个窗格。在中型屏幕(“最小宽度”为 600dp 及以上的任何屏幕)上,横向可以很好地适应两窗格布局,但在纵向屏幕上,它应该使用单窗格布局。在较大的屏幕上,它应该在两个方向上使用双窗格布局。我还想支持 3.2+ 风格的限定符(如 sw600dp 和 sw720dp)以及旧的“大小桶”限定符(“xlarge”)。
最直接的方法是创建几个不同的 XML 布局文件,每个配置一个:
- res/layout-sw600dp-land/main.xml
- res/layout-sw600dp-port/main.xml
- res/layout-sw720dp-land/main.xml
- res/layout-sw720dp-port/main.xml
- res/layout-xlarge-port/main.xml
- res/layout-xlarge-land/main.xml
- 资源/布局端口/main.xml
- 资源/布局/main.xml
因此,这 8 个 XML 文件中有很多代码重复,它们基本上只描述了两种不同的布局。
我怎样才能做到这一点,而不必维护所有这些令人头疼的重复 XML 文件?