我想在我的Android应用程序上修改屏幕方向为肖像。我发现,使用谷歌可以通过将以下代码添加到我的manifest.xml来完成:
<activity android:name=".LauncherActivity"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait">
</activity>
这很好,但问题如下:我现在大约有15项活动,这个数字会增长。有没有办法立即对所有活动进行定向?
我尝试以下列方式使用样式:
theme.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>
的Manifest.xml
<application ...
android:debuggable="true"
android:theme="@style/Custom"
>
//...
</application>
或
<activity
...
android:theme="@style/Custom"
>
//...
</activity>
两个示例都成功应用windowBackground
,但screenOrientation
不起作用。有什么想法吗?
答案 0 :(得分:21)
没办法。我需要重复
<activity android:name=".LauncherActivity"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait">
</activity>
在清单中的每个<activity>
标记中。
答案 1 :(得分:15)
您可以创建一个扩展Activity
:
public class PortraitActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
我认为,如果您的活动延伸PortraitActivity
而不是Activity
,那么它就可以。
编辑:SCREEN_ORIENTATION_PORTRAIT或SCREEN_ORIENTATION_LANDSCAPE