Я пробовал разные способы получить размер экрана устройства, но он всегда возвращал мне неправильный размер (791x480
вместо 854x480
). Это может быть из-за панели навигации. В настоящее время на моем устройстве работает JellyBean 4.1.1.
Я пытался:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
OpenGLRenderer.widthScreen = size.x;
OpenGLRenderer.heightScreen = size.y;
И:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
String resolution = dm.widthPixels + "x" + dm.heightPixels;
Я использую следующий код, чтобы сделать приложение полноэкранным:
setContentView(mGLSurfaceView);
mGLSurfaceView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
Я заметил, что в логарифме возвращается правильный размер:
01-01 03:05:06.967: I/InputReader(1961):
Device reconfigured: id=8, name='cyttsp-spi',
surface size is now 480x854, mode is 1
In my AndroidManifest
:
uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"
Я использовал:
- Получить реальное разрешение экрана на Ice Cream Sandwich
- Реальное разрешение HTC Sensation
- Получить размеры экрана в пикселях
Почему я не могу получить реальный размер (480x854
)? Или как я могу использовать поверхность, возвращенную «Устройством перенастроено»?