在Android中禁用横向模式?

时间 2009-02-24
阅读 499588
点赞 822
收藏 160
连接lostintransit

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

✅ 被采纳的答案

添加android:screenOrientation="portrait"到androidmanifest.xml中的活动。例如:

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

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

  • 这并不能免除你必须考虑活动的责任。 生命周期事件或正确保存/恢复状态。有很多 除了应用程序旋转外,还可以触发活动 破坏/娱乐,包括不可避免的事情,如多任务。没有捷径;学会使用捆绑包和retainInstance碎片。
  • 请记住,与iPhone相当统一的体验不同,在很多设备中,肖像并不是很受欢迎的方向。当用户使用带有硬件键盘或游戏板的设备时,Droid 1-4、Xperia Play或Nvidia Shield,强制肖像会让你的应用成为一个巨大的可用性难题(尤其是在Shield上)。如果你的应用程序没有一个非常具体的用例,这将导致支持其他方向的完全负面体验,你可能不应该强迫景观。我要说的是,“这是一款手机的遥控应用程序,设备的一侧装有红外爆炸机”,或者“这是一款固定硬件基座上使用的特定型号平板电脑的收银机应用程序。”

因此,大多数应用程序应该让手机传感器、软件和物理配置自行决定用户希望如何与应用程序交互。但是,如果您对默认的sensor使用案例中的方向:

  • 如果你主要关心的是意外的方向改变,你认为设备的传感器和软件不能很好地处理中间活动(例如,在一个倾斜的游戏中),考虑支持横向和纵向,但是使用nosensor方向。这在大多数平板电脑和大多数手机上都会造成横向效果,但我仍然不建议大多数“普通”应用程序使用这种效果(有些用户只是喜欢在手机上输入横向软键盘,而许多平板电脑用户则是通过纵向效果来阅读——你应该让他们这样做)。
  • 如果你仍然出于某种原因需要强制肖像,sensorPortrait可能比portrait对于android 2.3+;这允许颠倒的肖像,这在平板电脑使用中很常见。
👍 1443