我如何禁用景观模式的一些观点在我的Android应用程序?


当前回答

在你的manifest中添加android:screenOrientation="portrait"。如果您想为特定的活动应用模式,请在所需的活动标记中定义此模式。或者在应用程序标签中定义整个应用程序。比如:

<application
    <!-- ... -->
    android:screenOrientation="portrait"
</application>

其他回答

在阅读这篇文章之前,我不知道AndroidManifest.xml文件开关,所以在我的应用程序中,我使用了这个代替:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // Fixed portrait orientation

把它写进你的载货单里。

<activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:screenOrientation="sensorPortrait" />

方向将是纵向的,但如果用户的手机是上下颠倒的,它也会显示正确的方式。(这样你的屏幕就会旋转180度。)


如果活动在多窗口模式下运行,系统将忽略此属性。

更多:https://developer.android.com/guide/topics/manifest/activity-element

如果您正在使用Xamarin c#,其中一些解决方案将无法工作。这是我发现的一个有效的解决方案。

[Activity(MainLauncher = true, Icon = "@drawable/icon", ScreenOrientation = ScreenOrientation.Portrait)]

上面的类工作得很好,类似于其他解决方案。此外,它不是全局适用的,需要放在每个活动头中。

在你声明你的活动的manifest文件中添加android:screenOrientation="portrait"。是这样的:

<activity 
    android:name=".yourActivity"
    ....
    android:screenOrientation="portrait" />

如果你想使用Java代码,试试:

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

在onCreate()中调用setContentView方法之前。

在<apphome>/platform/android目录下,创建AndroidManifest.xml(从生成的目录中复制它)。

然后添加android:screenOrientation="portrait"到所有的活动元素。