我有一个iOS应用程序,在我尝试移植到Android的每个屏幕上使用独特的纹理背景(想想游戏标题屏幕或其他东西)。在iOS上,他们知道分辨率,只是围绕这些分辨率设计了背景。显然这在Android上是不可能的。
将纹理/不可重复背景放入Android的最佳方法是什么?它适用于各种屏幕尺寸和宽高比?
我到目前为止所考虑的解决方案是:
据我所知,在Android中,1和2.不可能开箱即用,因为背景图像设置视图的大小以匹配它们的大小(你无法告诉它只是超出了如果我错了,请纠正我。)
在这种情况下你会使用什么解决方案?
答案 0 :(得分:1)
为每种分辨率创建不同版本的图像。
您可能已经意识到,Android可以在各种分辨率和屏幕密度不同的设备上运行。要完全兼容所有这些需要一些图形工作;你需要每个可能的屏幕密度资源(在这种情况下,分辨率)。
有关详细信息,请参阅Android开发人员文档中的Supporting Multiple Screens。
除非您的开发过程出现严重错误,否则您应该在创建这些资源时使用原始文件(例如.psd
)。
答案 1 :(得分:1)
使用(match_parent)ImageView模拟背景图像。 (通过调整imageview的缩放类型,您可以得到第1,2点的结果) http://developer.android.com/reference/android/widget/ImageView.ScaleType.html
使用9-patch图像。您可以指定图像的哪个部分可以拉伸。对于你的情况,我建议添加一个小的"边距"对你的形象,并使用9补丁使其可伸缩。只保留边距,保持图像的纵横比。 android developer 9-patch