我正在为 Android“多屏幕尺寸”领域的一项非常琐碎的任务而苦苦挣扎。
我想要达到的目标
与屏幕宽度匹配的布局,具有可调整大小的九个补丁背景(仅水平方向,因为始终有足够的垂直空间)。这是一个虚拟图像:
我的目标是,根据屏幕分辨率,通过使用一组不同的尺寸,例如以最高分辨率显示图像。320x45、480x67、600x87、720x101,没有任何缩小。我希望有一个非编程的解决方案。
具有上述图像大小的示例是:
- 3.7" Nexus One (480 x 800) - 480x67 图像看起来最好。
- 4.7 英寸 Galaxy Nexus (720 x 1280) - 720x101 图像。
- 4.7 英寸 Nexus 4 (768 x 1280) - 再次是 720x101 图像,拉伸到完整的 768 像素宽度并变为 768x101。
问题
整个 Android 资源分配围绕dp
s(与密度无关的像素)进行,而实际上我想根据实际可用像素显示图像。
如果我将 480x67 图像分配给 res/drawable-mdpi 并将 600x87 分配给 res/drawable-hdpi,则图像将在480x800 的 5.4" 显示器上正确显示,即 mdpi 显示器。但是,4" 480x800 显示器符合 hdpi 和系统会指定不适合屏幕的 600x87 图像。
我尝试了在线指南smallestWidth
中描述的参数,但这会产生奇怪的结果。例如,一个 3.7" 480 x 800 显示器 (hdpi) 使用我的 drawable-sw320dp 图像,尽管也有一个 drawable-sw480dp 资源可用。
分配具有最佳质量的可拉伸、宽度匹配图像的最佳方法是什么?没有任何非程序化的解决方案吗?
提前致谢!