在我的应用程序中,我必须支持 540x960 屏幕。我创建了一个名为:的目录drawable-540x960
,用于包含此屏幕的所有图形项。但我得到这个错误:invalid resource directory name drawable-540x960
这个名字出了什么问题?谢谢,埃亚尔。
5 回答
其实答案很简单:
drawable-hdpi-960x540
1) 你必须指定密度 2) 你必须先命名高度
我尝试过不同的模拟器......最后我成功了。高度应该是第一个值。
res/layout-long-port-hdpi-500x300/layout.xml (For testing i created this emulator)
res/layout-long-port-hdpi-960x540/layout.xml (For Motorola Droid Razr, Motorola Droid Bionic, etc)
res/layout-long-port-hdpi-800x480/layout.xml (For Nexus)
很抱歉,如果您有其他可绘制对象,如 drawable-mdpi 或 drawablae-xhdpi 或 drawable-xxhdpi 或 drawable-hdpi,则 s.krueger 的解决方案将不起作用。它不需要drawable-hdpi-960x540。
您必须根据像素密度和屏幕尺寸命名可绘制对象。计算在这里...
dpi = sqrt (540^2+960^2) / 4.3"(设备尺寸)= ~256 dp = px / (dpi / 160) = 540 / (dpi / 160) = 330
drawable 将被命名为 drawable-sw330dp。我已经对此进行了测试。这很好用。其他drawables也没有问题。布局将是 layout-sw330dp
或者你可以通过 drawable-sw540p 试试这个。我还没有测试过。但我想它会很好用。布局将是 layout-sw540p
Android 无法识别 drawable-540x960,因为它是无效的尺寸限定符
您可能想查看 android 支持不同屏幕的指南 http://developer.android.com/guide/practices/screens_support.html#NewQualifiers
以下是一些有效标识符的示例
res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger)
实际上你为你的屏幕提供了错误的目录名称。你可以从开发者网站参考这个去这里https://developer.android.com/guide/practices/screens_support.html#NewQualifiers
在该站点中,请参阅表号:2 以了解屏幕尺寸的限定符
您还可以在其中找到一行:
If the available height is a concern for you, then you can do the same using the h<N>dp qualifier. Or, even combine the w<N>dp and h<N>dp qualifiers if you need to be really specific.
对于指定使用屏幕尺寸 540x960,您需要添加如下布局,这是定义用于该 xml 布局的宽度和高度的有效方法。
res/layout-w540dp-h960dp/any layout which you need put in side this folder