我正在两台设备上测试我的应用程序,目前我正在尝试了解drawables文件夹的工作原理:
徽标都是从hdpi
文件夹中提取的,例如:res/drawable-hdpi
,我相信这是因为它们具有以下密度。
与Google的密度范围有关,确实是hdpi
:
如果您查看我的应用主屏幕徽标的两个屏幕截图:
Galaxy S2
Nexus 7
你可以看到Nexus 7上的徽标有点模糊,如果它来自同一个资源drawables文件夹,我如何为7英寸平板电脑提供不同的资产?我是否需要在某个地方设置某个尺寸的徽标?
我还读到Nexus 7也被归类为tvdpi
,但我不确定是否应该为此创建任何文件夹。
答案 0 :(得分:3)
如果两个设备的密度大致相同,则表示显示徽标的图像窗口小部件的大小取决于屏幕大小,因为徽标的大小在较大的屏幕上较大。这可能是它看起来像素化的原因。所以首先要确保图像没有拉伸。
您可以为各种屏幕尺寸提供替代资源。请参阅http://developer.android.com/guide/topics/resources/providing-resources.html中的“smallestWidth”示例
因此,如果必须这样做,您可以在resources/drawable-sw500dp-hdpi/
中添加与徽标图像同名的新图像。我选择500因为800 / 1.5 = 533。
答案 1 :(得分:3)
您应该创建一个drawable-tvdpi
文件夹,并将任何未完全重新缩放的图像放入其中。 Android会尝试缩小您的hdpi图像,但这并不总是很好看。我总是在hdpi创建所有图像,然后只为tvdpi重新创建缩放图像。
那就是说,你的形象正在被拉伸。将您的ImageView
更改为wrap_content
的高度和宽度。
此外......如果您想将资源定位到7英寸平板电脑,下面使用-swXXX
说明的abel是处理它的新标准方法。不幸的是,-swXXX
在Android中引入3.2 ..意思是#1 7“平板电脑,Kindle Fire不会看到该文件夹的内容。目前我仍然依赖-large
,但期待-swXXX
成为常态。