我在drawable-hdpi中有大尺寸的图片,在drawable-mdpi中有小尺寸的图片。
当我在Kindle Fire上打开我的应用程序(其从layout-large获取布局),它使用了来自drawable-mdpi的图片。是否有任何方法使应用程序在屏幕大小为大型时从drawable-hdpi获取图片?
谢谢
我在drawable-hdpi中有大尺寸的图片,在drawable-mdpi中有小尺寸的图片。
当我在Kindle Fire上打开我的应用程序(其从layout-large获取布局),它使用了来自drawable-mdpi的图片。是否有任何方法使应用程序在屏幕大小为大型时从drawable-hdpi获取图片?
谢谢
我认为你需要使用配置限定符。
看起来你对这些文件夹的作用有些误解。你的Android设备会根据屏幕大小或像素密度选择相应的文件夹。
你的Kindle Fire具有中等像素密度和大屏幕。因此,它会从具有这些特定限定符的res文件夹中选择资源。
例如,选择 res/layout-large/my_layout.xml
中的布局文件以及图像。
res/drawable-mdpi/my_icon.png
你不能告诉你的Kindle从hdpi文件夹中获取图像,因为它没有高像素密度。
因此,你可以创建一个名为
res/drawable-large-mdpi/
专门为您的Kindle Fire设备而设计。
或者只需确保正确的图像放置在正确的文件夹中。
编辑:从3.2开始,尺寸限定符已被弃用。
虽然已经被弃用,但它们仍然可用。尽管结果可能不如预期(例如:5"和7"被视为相同大小-大号-但仍有差异)。因此,在3.2以后添加了dp限定符来使用。这是更好的选择。 developer.android.com/guide/practices/… 它有点像媒体查询
使用最新的Android多布局和多分辨率支持方法,已经废弃了在3.2或以上版本中使用drawable-large
等尺寸限定符。
您可以使用以下代码来支持多个布局和密度:
res/drawable-sw600dp-mdpi
在此示例中,sw600dp表示以密度无关像素为单位的活动可用的最小宽度,
在本例中为600dp。这被认为比使用类似于large
这样的通用大小分组更适合设备特定的布局和可绘制对象。
还有一些新的可用宽度和高度选项,完整信息请参见:支持多个屏幕
所有限定符都按照它们在Table2中出现的顺序进行处理。