我发现 Android 基于屏幕密度为按钮选择的图像资源没有帮助。
我正在为孩子们开发一个应用程序,所以我希望它有漂亮的大按钮,但同时我必须将自己限制在可用的屏幕空间内。
本质上,我想使用适合我拥有的屏幕尺寸的图像尺寸,而不是它的密度。
例如,假设我想在横向模式下在屏幕一侧放置 5 个按钮。我想做这样的事情..
- 在 PIXELS 中获取屏幕的高度。
- 计算每个按钮 (hButton) 的高度,在它们之间留出一些空间。
- 加载适当的图像资源。即最小的一个,至少是 hButton 像素。
- 将图像缩放为 hButton 像素高。
类似的东西。
Android 有一个很好的方法来做到这一点,还是我必须自己编写代码?如何访问适当的图像?(我的大多数按钮使用两个图像 - 向上和向下)
谢谢
编辑:
我的问题似乎不够清楚。我不需要知道如何布置按钮,而且我对 Android 如何根据密度选择图像有很好的理解——这就是问题所在。
考虑这两个设备 -
1/ Galaxy I9000 手机 - 屏幕尺寸 4" HDPI
2/ 三星 Tab 3 平板电脑 - 屏幕尺寸 7" HDPI
因为两者具有相同的屏幕密度,所以两者都将以相同的物理尺寸显示图像。一个为 1" 正方形的图标将是另一个 1" 正方形。那就是问题所在。我希望按钮与屏幕大小成正比。
我可以尝试使用特定于大小的资源(例如drawable-small),但是不同密度的小型设备之间会出现问题,这意味着创建更多的目录,这似乎是个坏主意。
我倾向于在 no-dpi 目录中放置各种尺寸,然后根据需要加载。