Я пытаюсь реализовать кнопку, чтобы изменить ориентацию активности, однако она идет в альбомный режим, но не возвращается к портрету.Изменение ориентации с помощью onClick android
if(!state){
setRequestedOrientation(MainActivity.SCREEN_ORIENTATION_LANDSCAPE);
}
else {
setRequestedOrientation(MainActivity.SCREEN_ORIENTATION_PORTRAIT);
}
state = !state;
То, что я прочитал было, есть состояние = ложь, при нажатии на кнопку, изменить ориентацию, то состояние устанавливается как верно, на данный момент, если кнопка будет нажата снова активность изменится назад к пейзажу.
Я также прочитал об использовании переключателя? Но я попытался реализовать это, но не пошел так хорошо, поэтому я попробовал этот метод.
Редактировать
Я реализована с помощью получения вращения поверхности, и они могут подобрать вращение либо 0 или 90
if (orientation==Surface.ROTATION_0)
{
Toast.makeText(getBaseContext(), "going to landscape", Toast.LENGTH_LONG).show();
setRequestedOrientation(MainActivity.SCREEN_ORIENTATION_LANDSCAPE);
}
else if (orientation==Surface.ROTATION_90)
{
Toast.makeText(getBaseContext(), "going to portrait", Toast.LENGTH_LONG).show();
setRequestedOrientation(MainActivity.SCREEN_ORIENTATION_PORTRAIT);
}
Однако, как деятельность идет в ландшафт и тост показан, когда я пытаюсь вернуться к портрету, тост действительно показывает «идущий на портрет», но setRequestOrientation не выполняется. Какая проблема?
Средство при нажатии кнопки вы хотите изменить ориентацию, но ее не произошло. –
Когда ориентация изменяется, активность воссоздается. Итак, я думаю, после изменения ориентации значение 'state' снова' false'. Проверь это. –