禁用横向模式?

如何禁用我的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等硬件键盘或游戏手柄时,强制使用肖像可能会使您的应用成为一个巨大的易用性障碍(特别是在屏蔽上)。 如果你的应用程序没有一个非常具体的用例,这会导致支持其他方向的直接负面体验,那么你应该不要强迫风景。 我正在谈论诸如“这是一款遥控器应用程序,用于仅在设备的一侧具有红外线发射器的手机”,或者“这是一款收银机应用程序,适用于固定使用的某种特定型号的平板电脑硬件码头“。
  • 所以大多数应用程序应该让手机传感器,软件和物理配置自己决定用户如何与您的应用程序进行交互。 但是,如果您对使用案例中sensor方向的默认行为不满意,可能仍需要考虑一些情况:

  • 如果您的主要担心是意外的方向改变,那么您认为设备的传感器和软件无法很好地应对(例如,在基于倾斜的游戏中)的中间活动考虑支持横向和纵向,但使用nosensor作为方向。 这在大多数手机上强化了大多数平板电脑和人像的景观,但我仍然不会为大多数“普通”应用推荐此应用(某些用户只喜欢在手机上键入横向软键盘,许多平板电脑用户以纵向阅读)你应该让他们)。
  • 如果由于某种原因仍然需要强制使用人像, sensorPortrait可能会比Android 2.3以上的portrait更好; 这允许颠倒的肖像,这在平板电脑的使用中很常见。

  • 在阅读这篇文章之前,我并没有意识到AndroidManifest.xml文件的切换,所以在我的应用程序中我使用了它:

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

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

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

    如果你想使用java代码尝试

    setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    

    然后在onCreate()为您的活动调用setContentView方法。

    希望这个帮助,并且对所有人都容易理解......

    链接地址: http://www.djcxy.com/p/16117.html

    上一篇: disable landscape mode?

    下一篇: How do I change screen orientation in the Android emulator?