1

我构建了一个Android平板电脑应用程序,并试图弄清楚如何让系统选择正确的资源。Android SDK - 选择正确的资源

我理解文档中描述的概念。对于不同密度的ldpi,mdpi,hdpi等,有许多不同的资源文件夹...... - 但有没有办法让系统根据设备的分辨率选择资源?在布局文件夹结构中,可以使用layout-sw600dp指定最小宽度。有没有类似的资源机制?有几种设备被认为具有不同分辨率的中等密度。理想情况下,我想为分辨率定义资源,并且比像素密度更具灵活性。

我也尝试使用内置在扩大,但它似乎并没有与我的Nexus 7的资源而设计的更高的分辨率似乎并没有缩小在所有的工作。也许我做错了什么。

谢谢。

回答

0

我不是100%肯定我正确地读你的问题,但可以后缀与目标说明符res/文件夹的子文件夹的任何。所以不仅仅是res/layout-sw600dp,还有res/drawable-sw600dpres/values-sw600dp。这些规则可以合并,因此res/values-sw600dp-mdpi也可以工作。

还要注意的是,Android的SDK文档是在这方面有点片状。培训部分解释了a neat trick using resource aliases,它可以帮助您避免复制粘贴布局XML,但API指南和参考文档从不提及它,因此很容易被忽略。

+0

有道理。我在某个时候尝试了这一点,我只是没有为我正在测试的设备提供正确的参数。所有Android显示器的不同配置在SDK中都很棘手。 Nexus 7也被称为1280x800,但似乎运行在800x1280。我不确定这是否会引发事情的纠结。 – Londo 2013-05-06 00:42:42

0

你可以,你可以专门文件夹名就是这样,绘制-800×480,但要确保更大的价值将成为第一个(800在这种情况下)