2

我目前正在考虑让我的 android 应用程序在 Kindle Fire 上运行。我有 MDPI 和 HDPI 屏幕的图稿,但我注意到当我在 Kindle 上加载应用程序时,它会显示 MDPI 图稿并拉伸我的一些图稿.

我想知道在某些情况下(比如我在 Kindle 上),Android 上是否有任何方法可以强制它从 HDPI 图稿加载,而不是默认为 MDPI。

我确实意识到我可以将我的 HDPI 图稿保存在 MDPI 文件夹中,名称稍有不同,并检查每个资源,但这是很多开销,更不用说增加我的应用程序的大小了,我d也想避免。

谢谢

更新:还在看这个。我想我真正想说的是,即使存在 MDPI 图稿,Android 设备是否有办法选择 HDPI 图稿而不是 MDPI?

4

3 回答 3

1

Kindle Fire 是 1024x600 和 160 dpi,对吧?

您可以尝试使用该分辨率的新资源。并将它们放在 MDPI 文件夹中。在 /res 目录中添加 layout-large 并将您的布局文件复制到那里。这样,在 Kindle Fire 中,您可以使用 layout-large 的布局,指向 MDPI 文件夹中更大的资源。

并确保您始终使用九个补丁可绘制资源。

希望这对您有所帮助。

于 2012-01-28T00:41:05.633 回答
1

在此期间最终使用了一个黑客解决方案,但我遇到了这个:

我不希望 Android 自动调整我的位图大小

几乎只需将我的 hdpi 图像移动到 nodpi 文件夹中(为了避免缩放问题)并稍微更改名称(我在名称中添加了一个 _hd)。之后我制作了一个图像加载器,它接收我想要的图像的名称,如果设备是 hdpi 或者它是 kindle fire,则返回 _hd 图像:

id = ctx.getResources().getIdentifier(string + "_hd", "drawable", context.getPackageName());

注意:文档确实不鼓励使用 getIdentifier(),因为它比仅使用资源地址效率低,但我查看了加载时间,使用 getIdentifier 加载 1000 张图像需要 0.25 秒,这对我来说很好特别是因为我没有加载接近那么多图像的任何地方。

于 2012-04-06T00:17:52.500 回答
0

您可以尝试使用该分辨率的新资源并将它们放在MDPI文件夹中。layout-large在目录中添加并在/res那里复制您的布局文件。这样,使用 Kindle Fire,您可以使用layout-large指向MDPI文件夹中更大资源的布局。

于 2012-04-21T11:14:22.150 回答