标记可绘制文件夹以供多种设备类型使用

时间:2014-01-21 15:05:31

标签: android android-resources

我目前正在调整我的应用程序以使用不同的设备。我遇到了旧的 Nexus 7 (~216 ppi像素密度)的问题。

问题在于它在tvdpi中查找drawable,但未发现它使用hdpi资产。我希望它使用的资产是xhdpixxhdpi drawables。

我有没有办法告诉Android为xhdpi设备和sw600dp设备(dp值低于xhdpi)使用特定文件夹? 我宁愿避免复制粘贴drawables。

1 个答案:

答案 0 :(得分:1)

你可以做的是在dpi文件夹中使用'references'到drawables,所以你不必复制资产。

它可能变得非常棘手,但快速解释是:

将您的drwawables命名为myDrawable-xhdpi或类似内容,并将它们放在xhdpi或no-dpi文件夹中。

然后创建资源文件夹:

值-tvpdi 值-xhpi

在这些文件夹中创建drawable.xml文件,其中包含您希望nexus 7使用的每个drawable的项目(您还需要在values文件夹中创建一个drawable.xml)。

项目如下:

@绘制/ myDrawable-xhdpi

所有布局文件都可以引用@ drawable / myDrawable。

我们正在做的是设置它,以便我们只能有一个drawable,但可以从这些drawable.xml文件中引用drawable。当要求Android在tvpdi设备上查找myDrawable时,它会查看drawable-tvdpi文件夹,该文件夹没有myDrawable,因此它会查看drawable.xml文件,并找到对正确的引用可以使用。

希望这是有道理的。

查看此文章了解更多信息:http://android-developers.blogspot.co.uk/2011/07/new-tools-for-managing-screen-sizes.html