phonegap忽略了方向:如何强制横向定位?

时间:2015-10-11 13:53:09

标签: cordova intel-xdk

我在mu config.xml中有这个

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

然而,应用程序以肖像方式开始,我可以旋转屏幕。

我如何强迫风景?

我读到了: Force “Landscape” orientation mode

不会触发事件:

document.addEventListener("orientationchange", function(event){
        switch(window.orientation) 
        {  
            case -90: case 90:
                /* Device is in landscape mode */
                break; 
            default:
                /* Device is in portrait mode */
        }
    });

既不影响:

<link rel="manifest" href="manifest.json">

也不是这个:

screen.orientation.lock('landscape');

如何强制纵向模式?

这是

indelxdk.config.crossawalk.app.xml

<?xml version='1.0' encoding='UTF-8'?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:intelxdk="http://xdk.intel.com/ns/v1" id="com.intel.appx.sitechat3.xwalk15" version="0.0.1" android-versionCode="1">
<!--This file is generated by the Intel XDK. Do not edit this file as your edits will be lost.           -->
<!--To change the contents of this file, see the documentation on the intelxdk.config.additions.xml file.-->
<intelxdk:version value="1.0"/>
<intelxdk:cordova-cli version="4.1.2"/>
<name>AP Debug x15 sitechat3</name>
<description>Universal init code for Intel XDK and Cordova device ready detection, as well as within browser.</description>
<author>Intel XDK</author>
<content src="index.html"/>
<access origin="*"/>
<access origin="https:*"/>
<intelxdk:plugin intelxdk:name="StatusBar" intelxdk:value="cordova-plugin-statusbar" intelxdk:version="1.0.0" intelxdk:checksum="b4e7aac6" intelxdk:type="file"/>
<intelxdk:plugin intelxdk:name="Device" intelxdk:value="cordova-plugin-device" intelxdk:version="1.0.1" intelxdk:checksum="adfc61ba" intelxdk:type="file"/>
<intelxdk:plugin intelxdk:name="Splashscreen" intelxdk:value="cordova-plugin-splashscreen" intelxdk:version="2.1.0" intelxdk:checksum="170efb68" intelxdk:type="file"/>
<preference name="android-minSdkVersion" value="14"/>
<preference name="android-targetSdkVersion" value="19"/>
<preference name="android-installLocation" value="auto"/>
<preference name="Fullscreen" value="true"/>
<preference name="Orientation" value="landscape"/>
<intelxdk:crosswalk version="15"/>
<!--creationInfo:{"src":"jsapp/template-blank-cordova-project-lite/sample.zip","projectTypeName":"com.intel.xdk.projecttype.jsapp"}-->
<preference name="debuggable" value="false"/>
<platform name="ios">
    <!-- below requires the splash screen plugin -->
    <!-- docs: https://github.com/apache/cordova-plugin-splashscreen -->
    <preference name="AutoHideSplashScreen" value="false"/>
    <preference name="FadeSplashScreen" value="false"/>
    <preference name="FadeSplashScreenDuration" value="2"/>
    <preference name="ShowSplashScreenSpinner" value="false"/>

    <!-- below requires the status bar plugin -->
    <!-- docs: https://github.com/apache/cordova-plugin-statusbar -->
    <!-- see http://devgirl.org/2014/07/31/phonegap-developers-guid -->
    <preference name="StatusBarOverlaysWebView" value="false"/>
    <preference name="StatusBarBackgroundColor" value="#000000"/>
    <preference name="StatusBarStyle" value="lightcontent"/>
</platform>
<platform name="android">
    <!-- below requires the splash screen plugin -->
    <!-- docs: https://github.com/apache/cordova-plugin-splashscreen -->
    <preference name="SplashMaintainAspectRatio" value="false"/>
</platform>
<intelxdk:crosswalk xmlns:intelxdk="http://xdk.intel.com/ns/v1" xwalk-command-line="--disable-pull-to-refresh-effect"/>
<intelxdk:crosswalk xmlns:intelxdk="http://xdk.intel.com/ns/v1" xwalk-command-line="--ignore-gpu-blacklist"/></widget>

2 个答案:

答案 0 :(得分:0)

@Yarkek,

您需要设置更高的编译器版本才能实现最新的修补程序。 Cordova目前为5.​​2.0,您的设置为 4.1.2 <intelxdk:cordova-cli version="4.1.2"/>。但这还不够。你应该知道升级时会遇到什么:

阅读:Top Mistakes by Developers new to Cordova/Phonegap
6。没有设置&#34; phonegap版本&#34;为您的编译器

我引用

  

使用CLI版本,如果您没有为您的平台分配版本,或者在&#39;&#39; Phonegap Build&#39;&#39;如果你没有在config.xml中设置phonegap-version,你将获得最新版本。如果运气好,您的程序就会按预期运行。如果你不幸运,你会得到一组级联错误。

     

幸运的是,对于我们所有人来说,Holly Schinsky写了一篇很好的博文来解释这一切:

     

Cordova / PhoneGap版本混淆
  http://devgirl.org/2014/11/07/cordovaphonegap-version-confusion/

要明确,您*可能*需要升级您的Cordova _AND_从头开始重新启动您的项目。我还建议您在所有插件上设置版本。

最好的运气

答案 1 :(得分:0)

查看此屏幕方向插件:cordova-plugin-screen-orientation - 鉴于您的标签,我假设您使用的是英特尔XDK。您可以在插件管理器工具的插件的特色列表中找到它,从“项目”选项卡访问它。