я следующий кусок кода в мое приложение, чтобы получить ширину и высоту экрана:Android | Получение высоты экрана в ширину и экрана шириной, как высота
screenHeight = (short) Activity.getWindow().getWindowManager().getDefaultDisplay().getHeight();
screenWidth = (short) Activity.getWindow().getWindowManager().getDefaultDisplay().getWidth();
И в AndroidManifest, у меня есть:
<activity
android:name="com.test.MyActivity"
android:configChanges="keyboardHidden|orientation"
android:launchMode="singleTask"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
</activity>
Теперь, для устройства с разрешением экрана 1280x700, я ожидаю, что переменная screenWidth всегда будет иметь значение 1280, а screenHeight - 700. Это независимо от того, как пользователь может держать телефон.
Но все же иногда получается ширина экрана, равная 700, а высота равна 1280. Почему? Должен ли мой файл манифеста обеспечивать ориентацию моего приложения, чтобы он всегда оставался ландшафтом?
Я не понимаю, как это проблема. ширина/высота относительно ориентации экрана, да. как только вы это знаете, вам просто нужно использовать информацию соответственно. – njzk2