【发布时间】:2012-01-10 14:23:48
【问题描述】:
应用中的图像有多种形状或大小,但为了节省空间和编辑时间,有没有办法使用可缩放的矢量图像?
理想情况下,我会有一张中等分辨率的矢量图像,然后我可以检测屏幕尺寸并根据需要缩放矢量,并使用一些自定义渐变添加背景。
我用钛做这个。
【问题讨论】:
标签: android mobile vector titanium
应用中的图像有多种形状或大小,但为了节省空间和编辑时间,有没有办法使用可缩放的矢量图像?
理想情况下,我会有一张中等分辨率的矢量图像,然后我可以检测屏幕尺寸并根据需要缩放矢量,并使用一些自定义渐变添加背景。
我用钛做这个。
【问题讨论】:
标签: android mobile vector titanium
Titanium 尚不支持矢量图形,但可通过Shape Drawables 在本机 Android 代码中使用它。 Android SDK 有一个第三方SVG library 可用。
对于 Titanium,根据设备屏幕尺寸 (Titanium.Platform.DisplayCaps) 对代码进行分支,并找到在设备上性能良好的图像。
您可以使用具有透明度的 PNG 并将背景颜色应用到您的视图对象。
【讨论】:
我发现了制作不同大小的可绘制对象:
基本上只有一个在 res 文件夹中有一个名为 drawable 的文件夹。 用你使用的任何东西制作你的作品,但要让它变大(未来设备至少 1080p)。
将图像保存为可绘制文件夹中的 PNG,但保存较大。 (IE 至少 1000x1000)
编写一个在 PNG 中加载但对其进行缩放的函数(根据屏幕大小和您希望可绘制对象大小的百分比。因此 800 像素宽度的 20% 是 120 像素)。我已经设法用 30 行代码完成了这一点,由于我不在工作机器上,所以无法粘贴我的代码。
对我来说,这适用于所有设备的所有应用,我还没有发生过一次崩溃(1000 次安装,包括动态壁纸)。
【讨论】: