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

Yos*_*ssi 7 android android-layout

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

/res/layout/abc.xml

/res/layout-land/abc.xml

/res/layout-xlarge/abc.xml

由于第一个和最后一个布局是相同的,我正在考虑使用别名.但我无法从Android文档中弄清楚如何在我的声明中引用限定符特定的布局...

想法?

Men*_*amm 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>
    
    Run Code Online (Sandbox Code Playgroud)
  4. 将此文件复制到您的/res/values-land//res/values-xlarge/目录中

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

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