在Android中禁用横向模式?

如何在我的Android应用中禁用某些视图的横向模式?

解决方法:

将android:screenOrientation =“portrait”添加到AndroidManifest.xml中的活动.例如:

<activity android:name=".SomeActivity"
    android:label="@string/app_name"
    android:screenOrientation="portrait" />

编辑:由于这已成为一个超级流行的答案,我感到非常内疚,因为强迫肖像很少是解决它经常应用的问题的正确方法.
强迫肖像的主要警告:

>这并不能免除你不得不考虑活动
生命周期事件或正确保存/恢复状态.有很多
除了可以触发活动的app旋转之外的东西
破坏/娱乐,包括不可避免的事情,如多任务处理.没有捷径;学习使用bundle和retainInstance片段.
>请记住,与相当统一的iPhone体验不同,有些设备的肖像不是明显流行的方向.当用户在带有硬件键盘或游戏手柄的设备上使用Nvidia Shield,在Chromebooks,foldablesSamsung DeX时,强制肖像可以使您的应用体验限制或巨大的可用性麻烦.如果您的应用程序没有强大的用户体验参数,这会导致支持其他方向的负面体验,那么您可能不应强制使用横向广告.我说的是“这是一个收银机应用程序,适用于固定硬件底座中常用的一种特定型号的平板电脑.”

因此,大多数应用应该让手机传感器,软件和物理配置自行决定用户如何与您的应用进行互动.但是,如果您对用例中传感器方向的默认行为不满意,您可能仍需要考虑一些案例:

>如果您的主要关注点是意外的方向变化,您认为设备的传感器和软件无法很好地应对(例如,在基于倾斜的游戏中),请考虑支持横向和纵向,但使用nosensor进行定位.大多数手机上的大多数平板电脑和人像都有这种风景,但我仍然不建议大多数“普通”应用程序(有些用户喜欢在手机上键入横向软键盘,许多平板电脑用户都是纵向阅读 – 和你应该让他们).
>如果由于某种原因你仍然需要强制肖像,那么对于Android 2.3,sensorPortrait可能比肖像更好;这允许颠倒的肖像,这在平板电脑使用中非常常见.

上一篇:c# – 使用kinect获得骨骼旋转(X,Y,Z轴的欧拉角)


下一篇:android – WebView无法在方向更改时正确调整大小