我想为我的布局创建单独的文件夹,就像在我的资源目录中一样:
layout-land
layout-port
这没关系,但是这个:
layout-small-land
layout-small-port
或
layout-land-small
layout-port-small
结果: '资源目录名无效'
是什么给出了?
答案 0 :(得分:5)
您可以指定屏幕密度,而不是像大或小
这样的尺寸示例:
layout-port-hdpi
layout-port-ldpi
layout-port-mdpi
layout-port-nodpi
layout-land-hdpi
layout-land-ldpi
layout-land-mdpi
layout-land-nodpi
以下链接中的更多信息:
https://developer.android.com/guide/topics/resources/resources-i18n.html#AlternateResources
对于使用大,中,小这是方法:
res/layout/my_layout.xml // layout for normal screen size
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-large-land/my_layout.xml // layout for large screen size in landscape mode
答案 1 :(得分:5)
layout-small-land
和layout-small-port
是正确答案,他们编译就好了。也许您的目录结构中还有其他问题。
答案 2 :(得分:1)
在文件夹为空之前,它会显示"invalid resource error"
。如果你用.xml
文件填充它们(它们必须在每个layout-<qualifier>
文件夹中完全匹配),它就不会给你带来任何错误。
EG:
布局端口
- &GT; mainscreen.xml
布局大端口
- &GT; mainscreen.xml
没关系
答案 3 :(得分:0)
我没有在网上找到任何引用此结构的内容,但以下博文显示了一个例子,作者使用ldpi(我确定mdpi和hdpi)而不是小,正常和大(如在线的android参考文档会建议)。看看下面的链接,也许可以试试这个结构: