PhoneGap/Android - 锁定屏幕方向为竖屏

21

我已经尝试了每种方法来锁定屏幕为纵向显示,但是在通过Adobe PhoneGap Build测试应用程序后发现它们根本不起作用。

首先,我修改了MainActivity.java文件,在onCreate中进行了修改。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

第二,我已经修改了config.xml文件以包含

<preference name="orientation" value="portrait" />

第三,我已经修改了清单文件以包含

android:screenOrientation="portrait"

以上都不起作用。


我刚刚通过Eclipse AVD测试了这个功能,屏幕方向锁定正常。不知道为什么在通过PhoneGap Build运行应用程序时情况不同? - user3089184
3个回答

26

更新位于项目文件夹中,位于www上方的config.xml文件。

添加以下行:

<preference name="orientation" value="portrait" />

然后构建您的项目,就不会有方向更改。

您可以使用“横向”代替“纵向”。


嗨,这样做会锁定应用程序为竖屏模式,但是似乎相机没有遵守这一规定,相机会旋转到设备的方向。 - olanchuy
@olanchuy - 当然可以;相机是一个单独的应用程序。 - klidifia

22
如果您正在使用Cordova 3.4.1,<preference name="orientation" value="portrait" />应该有效。此外,请不要忘记在activity标签中添加android:configChanges="orientation"
否则,您可以尝试使用这个插件:https://github.com/cogitor/PhoneGap-OrientationLock

10
嗨@zalow517,你提到的“活动标记”是什么?(以添加 android:configChanges =“orientation” - Debnath Sinha
提到的插件已经过时,请使用这个:http://stackoverflow.com/a/32405384/1848600,适用于Cordova 4.0+。 - Gajotres
Cordova文档中,“Orientation”使用大写字母“O”。这有关系吗? - user663031
请注意这些值区分大小写,应该是“Orientation”,而不是“orientation”。 - LeRoy

2

只需要在AndroidManifest.xml文件中的application标签下添加以下内容即可:

android:screenOrientation="portrait"

谢谢


这将被重新生成,您必须按照上述说明在project.xml文件中设置该设置。 - Ghoti
这对我来说百分之百有效,没有其他的。 - jfaron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接