android – 如何使几个不同的屏幕配置映射到一小组布局而不必复制我的布局XML的部分?

android – 如何使几个不同的屏幕配置映射到一小组布局而不必复制我的布局XML的部分?,第1张

概述我的应用程序显示单窗格UI或双窗格UI,具体取决于屏幕配置.在较小的屏幕上,它应该是纵向和横向的单窗格.在中型屏幕(任何“最小宽度”为600dp及以上)的情况下,横向方向可以很好地适应双窗格布局,但在纵向方向上,它应该使用单窗格布局.在较大的屏幕上,它应该在两个方向上使用双窗格布局.我还想支持3.2样式限定符(如sw600dp和sw720dp)以及旧的“大小桶”限定符(“xlarge”). 最直接 我的应用程序显示单窗格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
> res / layout-port / main.xml
> res / layout / main.xml

因此,在这8个XML文件中存在大量代码重复,这些文件基本上只描述了两个不同的布局.

如何在不必维护所有这些重复的XML文件的情况下执行此 *** 作,这是一个维护问题?

解决方法 您可以使用布局别名.您应该在两个名为“onepane.xml”和“twopanes.xml”的XML文件中定义两个布局,而不是直接在每个屏幕配置的XML文件中描述您的布局.这些文件进入res / layout.

现在,您必须将这些布局映射到不同的屏幕配置,这就是“布局别名”技术派上用场的地方.对于每个屏幕限定符组合,在res / values-X / layout.xml中创建XML文件,其中X是限定符组合.在该文件中,声明一个布局资源,指向@ layout / onepane或@ layout / twopanes,视情况而定:

RES /价值观sw600dp土地/ layout.xml:

<resources>  <item name="main" type="layout">@layout/twopanes</item></resources>

RES /值-sw600dp端口/ layout.xml:

<resources>  <item name="main" type="layout">@layout/onepane</item></resources>

对您的其他配置组合执行相同的 *** 作,这样您就可以完成您正在寻找的内容:您可以将两个布局(onepane和twopane)映射到多个不同的屏幕配置,而无需复制布局.

有关此内容的更多信息,请查看AndroID培训的“支持多个屏幕”课程:
http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters

总结

以上是内存溢出为你收集整理的android – 如何使几个不同的屏幕配置映射到一小组布局而不必复制我的布局XML的部分?全部内容,希望文章能够帮你解决android – 如何使几个不同的屏幕配置映射到一小组布局而不必复制我的布局XML的部分?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1131375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存