我目前正在调整我的应用程序以使用不同的设备。我遇到了旧的 Nexus 7 (~216 ppi像素密度)的问题。
问题在于它在tvdpi
中查找drawable,但未发现它使用hdpi
资产。我希望它使用的资产是xhdpi
或xxhdpi
drawables。
我有没有办法告诉Android为xhdpi
设备和sw600dp
设备(dp值低于xhdpi)使用特定文件夹?
我宁愿避免复制粘贴drawables。
答案 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