支持具有大小限定符的多个屏幕

时间:2013-02-19 11:38:18

标签: android

我们希望为特定分辨率设计布局,如下所示:

Samsung Duos:480 X 800 Android 4.0.4 HTC Velocity:540 X 960

为此,我们为每个创建了布局文件夹,如下所示:

布局w480dp-h800dp 布局w540dp-h960dp

假设如果我们在三星duaos上运行应用程序,它应该选择布局 layout-w480dp-h800dp文件夹但它出错并无法启动活动。

错误是:

android.content.res.Resources $ NotFoundException:资源ID#0x7f030029

这意味着它无法找到活动所需的布局。 HTC Velocity也是如此。

我们做错了吗?

如果您有任何想法,请告诉我们。

4 个答案:

答案 0 :(得分:0)

一定是一个问题,有些资源尝试从drawable删除图像文件并再次添加它构建应该运行的项目

答案 1 :(得分:0)

您是否尝试过清洁和构建?它通常有助于看起来R代被破坏

答案 2 :(得分:0)

你的假设是错误的。 layout-w480dp-h800dp不适用于480x800像素屏幕。 DP与PX不同。请阅读此http://developer.android.com/guide/practices/screens_support.html

你确定你真的需要为这么类似的手机设计不同的设计吗?我会说这没有意义。

在我看来,U最多应区分3种类型的设备。

res/layout/main_activity.xml           # For handsets (smaller than 600dp available width)
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)

如果你仍想做你想做的事,你可以试试px而不是dp。但我不确定这是否有效...

答案 3 :(得分:0)

您是否有与您的活动相关的默认布局?我的意思是每个文件夹都包含相同名称的布局。