如何调整我的播放器图像以适应任何屏幕?就像它在较小的屏幕上会缩小图像,或者如果它在较大的屏幕上图像会变大。
这是我拥有但不起作用的代码:
player.setScaleX( player.getContentSize().width / winSize.width );
player.setScaleY( player.getContentSize().height / winSize.height);
如何调整我的播放器图像以适应任何屏幕?就像它在较小的屏幕上会缩小图像,或者如果它在较大的屏幕上图像会变大。
这是我拥有但不起作用的代码:
player.setScaleX( player.getContentSize().width / winSize.width );
player.setScaleY( player.getContentSize().height / winSize.height);
假设父视图的尺寸与密度无关,您可以使用 imageView.setScaleType 到 CENTER_CROP 或 CENTER_INSIDE 来缩放图像。
http://developer.android.com/reference/android/widget/ImageView.ScaleType.html
编辑**如果您只想让图像适合整个屏幕,则为宽度和高度设置图像视图的填充父项,然后将该图像视图的图像设置为使用适当的比例类型。不知道为什么你需要自己的算法..
编辑***
这是一个标准问题;支持多种屏幕尺寸和适当缩放。基本思想是避免指定实际像素,而是使用与密度无关的像素。看到这个: http: //developer.android.com/guide/practices/screens_support.html和这个:http: //developer.android.com/guide/practices/tablets-and-handsets.html
通常归结为在 xml 和代码中使用“dp”单位来指定单位(用于文本大小和宽度/高度等),无论您的数字是 TIMES getResources().getDisplayMetrics().density,这将应用适当的比例因子。