问题 Android - 仅限1页固定屏幕方向(phonegap)


我在修复index.html页面的屏幕方向时遇到问题。我想允许应用程序旋转,但主页上除外。我明白将以下内容添加到您的活动中 - android:screenOrientation =“portrait”会阻止屏幕旋转。

但是,我需要设置它,以便它是特定于页面的。我正在使用phonegap,因此需要停止我的网页浏览页面。

我尝试在我的清单中调用以下活动 - com.phonegap.droidgap.index.html,但这不起作用。

有人可以建议我如何定义1页的固定方向吗?

提前致谢


4486
2018-04-27 09:55


起源



答案:


您可以使用Android的PhoneGap插件:

https://github.com/champierre/pg-plugin-screen-orientation

并添加到index.html页面onload:

navigator.screenOrientation.set('portrait');

14
2018-04-27 10:29



嗨Razvan Panda我想知道导航器对象事件的属性......我怎么能列出它们。我探索了这个网站 docs.phonegap.com/en/1.6.1/_index.html 但我能找到......我想要的...... - KK_07k11A0585
工作得很好,文件很小,谢谢。 - LandL Partners
嗨这非常适合修复方向,但是这会为所有页面修复它。我尝试将传感器添加到其他页面上,但这不仅会破坏我的原始锁定页面,而且也不起作用。还有什么建议吗?谢谢 - LandL Partners
@ weebo123:你添加了navigator.screenOrientation.set('portrait'); on index and navigator.screenOrientation.set('fullSensor');在所有其他页面上? - Răzvan Flavius Panda
我没有添加完整的传感器,因为某些原因我在我的java中收到一条错误消息,所以我很荣幸地使用传感器。它是否必须是全传感器,如果是这样,你知道为什么它在我的java中没有被识别(是否有我需要导入的特定类?)。谢谢 - LandL Partners


答案:


您可以使用Android的PhoneGap插件:

https://github.com/champierre/pg-plugin-screen-orientation

并添加到index.html页面onload:

navigator.screenOrientation.set('portrait');

14
2018-04-27 10:29



嗨Razvan Panda我想知道导航器对象事件的属性......我怎么能列出它们。我探索了这个网站 docs.phonegap.com/en/1.6.1/_index.html 但我能找到......我想要的...... - KK_07k11A0585
工作得很好,文件很小,谢谢。 - LandL Partners
嗨这非常适合修复方向,但是这会为所有页面修复它。我尝试将传感器添加到其他页面上,但这不仅会破坏我的原始锁定页面,而且也不起作用。还有什么建议吗?谢谢 - LandL Partners
@ weebo123:你添加了navigator.screenOrientation.set('portrait'); on index and navigator.screenOrientation.set('fullSensor');在所有其他页面上? - Răzvan Flavius Panda
我没有添加完整的传感器,因为某些原因我在我的java中收到一条错误消息,所以我很荣幸地使用传感器。它是否必须是全传感器,如果是这样,你知道为什么它在我的java中没有被识别(是否有我需要导入的特定类?)。谢谢 - LandL Partners


例如,您可以使用代码设置屏幕方向 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 看到 http://developer.android.com/reference/android/app/Activity.html#setRequestedOrientation%28int%29 。在AndroidManifest.xml中,您只能将其设置为全局选项。


0
2018-04-27 10:21



可以在javascript代码中设置,还是必须在java文件中(因为我的应用程序是基于Web视图的应用程序)。我尝试添加你提到的那条线,但这似乎并没有阻止方向。谢谢 - LandL Partners
需要在java文件中。 - Ruediger