别名具有相同名称的布局资源只是不同的屏幕限定符

时间:2011-07-31 18:13:46

标签: android android-layout

我有一个不同的肖像和风景布局;但是在平板电脑上(例如真正的大屏幕,xlarge布局限定符)我想只使用两个方向的肖像版本。

/res/layout/abc.xml

/res/layout-land/abc.xml

/res/layout-xlarge/abc.xml

由于第一个和最后一个布局是相同的,我正在考虑使用别名。但我无法从Android docs中找出如何在我的陈述中引用限定符特定的布局......

想法?

1 个答案:

答案 0 :(得分:6)

我正在与之战斗!同样的问题,终于找到了解决方案,所以即使问题很老,也许有人觉得它很有用

  1. 将纵向布局放入/res/layout/abc.xml(您已经拥有)

  2. 将横向布局放入/res/layout/abc_land.xml

  3. 使用内容

    创建文件layout.xml
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
      <item name="abc" type="layout">@layout/abc_land</item>
    </resources>
    
  4. 将此文件复制到/res/values-land//res/values-xlarge/目录

  5. 重要的是,您的layout.xml文件包含对改进(格局)文件abc_land.xml的引用,该文件也存储在layout目录中,文件也位于values-x目录下,而不是layout-x一次。

    此外,我尝试将两个文件abc_land.xmlabc_port.xml放入布局目录,并在/res/values-land//res/values-port//res/values-xlarge/目录中创建别名,并且似乎有用,所以它也是可用的解决方案,使布局有些“订单”!