对于我的所有布局,我都有一个默认的layout\
文件夹,对于一个在较低分辨率下无法正确显示的文件夹,layout-hdpi\
有一个默认文件夹。问题是我的xxxhdpi和xxhdpi(未检查xhdpi)的仿真器正在从错误的文件夹layout.xml
访问layout-hdpi\
。为什么以及如何修复(除了为同一文件创建layout-xxxhdpi\
和layout-xxhdpi\
之外!)?
答案 0 :(得分:2)
这是一个非常有趣的行为,但是正如documentation所述:
注意:使用密度限定符并不意味着资源仅用于该密度的屏幕。如果您没有为替代资源提供与当前设备配置更匹配的限定符,则系统可能会使用最匹配的资源。
如果您进一步浏览How Android finds the best-matching resource一章,将会发现以下内容:
例外:屏幕像素密度是由于矛盾而没有消除的一个限定符。即使设备的屏幕密度是hdpi,也不会消除drawable-port-ldpi /,因为此时每个屏幕密度都被认为是匹配的。有关更多信息,请参阅“支持多屏幕”文档。