Изменение screenorientation Андроид для всех видов деятельности
Я хочу исправить ориентацию экрана на моем android-приложении для портрета. Используя google, я обнаружил, что это можно сделать, добавив следующий код в мой манифест.XML-код:
<activity android:name=".LauncherActivity"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait">
</activity>
это достаточно хорошо, но проблема заключается в следующем: у меня сейчас около 15 мероприятий, и это число будет расти. Есть ли способ применить ориентацию ко всем видам деятельности сразу?
Я попытался использовать стили в следующем путь:
тема.в XML
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Custom" parent="android:Theme">
<item name="android:screenOrientation">portrait</item>
<item name="android:windowBackground">@drawable/launcher</item>
<item name="android:configChanges">keyboardHidden|orientation</item>
</style>
</resources>
Манифест.в XML
<application ...
android:debuggable="true"
android:theme="@style/Custom"
>
//...
</application>
или
<activity
...
android:theme="@style/Custom"
>
//...
</activity>
оба примера применяются windowBackground
успешно, но screenOrientation
не работает. Есть идеи?
2 ответов
низзя. Мне нужно повторить
<activity android:name=".LauncherActivity"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait">
</activity>
в каждом <activity>
тег в манифесте.
вы можете создать класс, который расширяет Activity
:
public class PortraitActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
и я думаю, что если ваша деятельность распространяется PortraitActivity
вместо Activity
сойдет.
EDIT: SCREEN_ORIENTATION_PORTRAIT или SCREEN_ORIENTATION_LANDSCAPE