cordova插件只允许一个屏幕景观?

时间:2017-01-23 03:26:11

标签: javascript html cordova

我已经尝试了几个Cordova插件来实现这一目标,但似乎都没有。是否有任何有效的插件Android 6.0允许我在索引页面上设置横向/纵向(自动),然后仅在我的应用程序中的所有其他页面上设置横向?

我已经尝试了大约4个插件,跟随发球台的文档,什么都没有。

2 个答案:

答案 0 :(得分:0)

您只需在 config.xml 中设置首选项即可。

只需编写此行即可将手机方向设置为横向

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

只有一个屏幕,您可以在plugin的帮助下加载屏幕时以编程方式设置方向。

对于那个特定的屏幕,你可以在 HTML 中像这样调用这个init函数。

<body onload="init()">

或者你可以调用jquery Document.ready()。

$(document).ready(function() {
   init();
 });

Init函数只是添加事件监听器&#34; deviceready&#34;它只会在设备上触发。之后,您可以使用Device API。

function init(){
    document.addEventListener("deviceready", onDeviceReady, false);
}

function onDeviceReady() {
   // set to landscape
   screen.lockOrientation('landscape');
}

然后当你离开那个特定的屏幕时,你可以像这样设置jquery unload方法。

 $(window).on('beforeunload', function(){
     // allow user rotate
     screen.unlockOrientation(); 
     // or set the Orientation to portrait
     screen.lockOrientation('portrait');
 });

答案 1 :(得分:0)

好的,这就是它的作用。 AJs解决方案有效,但我必须首先确保一些事情......

  • cordova.js链接到index.html(或您正在使用的w / e页面)

  • 我还需要添加插件js文件的链接: /插件/科尔多瓦-插件屏幕取向/网络/ screenori entation.js

  • 然后我需要将插件添加到配置中(这可以通过使用--save

    安装插件时完成
    • 按照AJ上面的说明进行操作,我已将其标记为解决方案。

最后一件事,他提供的更新卸载选项仍然无法正常工作,所以在我要解锁的页面上,我使用他的解决方案只添加了解锁选项示例:

$(function() {
init();
});

function init(){
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
screen.unlockOrientation();
}