Планшет Android Ориентация при запуске Activity
У меня странная проблема с обработкой ориентации на планшетах Samsung. В основном, у меня есть это приложение, которое должно работать только в альбомной ориентации, если оно работает на планшете, и в портретном режиме, если я нахожусь на телефоне. Для этого я проверяю, на каком устройстве я работаю, а затем использую onConfigurationChanged
обратный вызов, чтобы установить правильный макет. Он отлично работает на телефоне. Но на планшете, если я держу его в портретном положении, при запуске другого действия в том же приложении я вижу вспышку на домашнем экране (это не круто), поэтому ориентация (а также панель Android) переходит в портретное положение второе действие загружается в портретной (это неправильно), и через некоторое время второе действие меняет ориентацию на правильную альбомную позицию. Есть ли способ просто загрузить второе действие прямо в альбомной ориентации? Спасибо
Francesco
2 ответа
Если вы хотите загрузить какое-либо действие непосредственно в альбомной ориентации, то упомяните screenOrientation непосредственно в конкретном действии в файле AndroidManifest.xml:
android:screenOrientation="landscape"
это загрузит вашу деятельность непосредственно в альбомной ориентации.
Поскольку вы используете одно и то же действие, просто протестируйте версию для Android и установите программную ориентацию. Как это:
if(Build.VERSION.SDK_INT >= 11){
//If build is tablet honeycomb or greater sdk such as 12, or 13
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
else{
//If device SDK is lower than 11 the view is set to PORTRAIT
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
Вы могли бы также сделать
Build.VERSION_CODES.HONEYCOMB
Для тестирования на планшете. Это было бы более конкретно для сот. Вы также делаете HONEYCOMB_MR1 & MR2.