Я пытаюсь заставить мой макет быть в альбомной ориентации для планшетов, поэтому у меня есть этот код:
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Но если я немедленно вызову getResources (). GetDisplayMetrics (). WidthPixels после этого вызова, он возвращает высоту планшета, а не ширину. Только после того, как onConfigurationChanged вызван, я начинаю получать правильную высоту, которая происходит после того, как мой основной макет надувается с использованием неправильных размеров экрана.
Я пытался сделать это после setRequestedOrientation:
DisplayMetrics dm = getResources().getDisplayMetrics();
int height = dm.heightPixels;
int width = dm.widthPixels;
dm.heightPixels = width;
dm.widthPixels = height;
getResources().updateConfiguration(getResources().getConfiguration(), dm);
Хотя это не помогло.
Как правильно обращаться с этой ситуацией?
P. S. Несмотря на то, что я установил ориентацию на SCREEN_ORIENTATION_LANDSCAPE, я продолжаю получать SCREEN_ORIENTATION_USER после внесения изменений. Почему это так?