Вот небольшой код, который можно использовать для автоматической установки разрешения экрана. Вместо прямого объявления
public static final int CAMERA_WIDTH = 720;
public static final int CAMERA_HEIGHT = 480;
и инициализации EngineOptions в явном виде
EngineOptions options = new EngineOptions(
true
, ScreenOrientation.LANDSCAPE
, new RatioResolutionPolicy( CAMERA_WIDTH, CAMERA_HEIGHT )
, mCamera
);
пишем функцию:
private float getScreenResolutionRatio() {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
return ((float) dm.widthPixels) / ((float) dm.heightPixels);
}
И соответственно инициализация EngineOptions принимает вид похожий на следующий:
new EngineOptions(
true
, ScreenOrientation.LANDSCAPE_FIXED
, new RatioResolutionPolicy( getScreenResolutionRatio() )
, mCamera
);
public static final int CAMERA_WIDTH = 720;
public static final int CAMERA_HEIGHT = 480;
и инициализации EngineOptions в явном виде
EngineOptions options = new EngineOptions(
true
, ScreenOrientation.LANDSCAPE
, new RatioResolutionPolicy( CAMERA_WIDTH, CAMERA_HEIGHT )
, mCamera
);
пишем функцию:
private float getScreenResolutionRatio() {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
return ((float) dm.widthPixels) / ((float) dm.heightPixels);
}
И соответственно инициализация EngineOptions принимает вид похожий на следующий:
new EngineOptions(
true
, ScreenOrientation.LANDSCAPE_FIXED
, new RatioResolutionPolicy( getScreenResolutionRatio() )
, mCamera
);
Комментариев нет:
Отправить комментарий