如何使图像适应其屏幕大小

时间:2011-11-20 22:12:04

标签: android size screen cocos2d-android

如何调整播放器图像以适应任何屏幕?就像它在较小的屏幕上缩小图像一样,或者如果它在更大的屏幕上,图像会变大。

这是我的代码,但不起作用:

player.setScaleX( player.getContentSize().width / winSize.width );
player.setScaleY( player.getContentSize().height / winSize.height);

1 个答案:

答案 0 :(得分:0)

假设父视图的尺寸与密度无关,您可以将imageView.setScaleType用于CENTER_CROP或CENTER_INSIDE以缩放图像。

http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

编辑** 如果您只想让图像适合整个屏幕,则为imageview设置fill_parent的宽度和高度,然后将该imageview的图像设置为使用适当的比例类型。不确定为什么你需要自己的算法..

编辑***

这是一个标准问题;支持多种屏幕尺寸并适当缩放。基本思想是避免指定实际像素,而是使用与密度无关的像素。请参阅:http://developer.android.com/guide/practices/screens_support.html和此:http://developer.android.com/guide/practices/tablets-and-handsets.html

通常,它归结为在xml和代码中使用“dp”单位来指定单位(用于文本大小和宽度/高度等),无论你的数字是TIMES getResources()。getDisplayMetrics()。密度应用适当的缩放因子。