如何在特定视图中强制定位模式

时间:2015-01-22 10:40:23

标签: angularjs cordova orientation

使用angularjs作为前端框架做一个cordova应用程序。我希望phonegap / cordova应用程序中的特定视图以横向模式显示。到目前为止我探索的各种选项是:

  • 设置config.xml。但是,只有当你打算将整个应用程序设置为纵向或横向时,你才会想要这个。
  • 添加manifest.json。 (还要注意我的config.xml中没有定义任何方向设置)。我的计划是在我想将方向设置为风景时有条件地包含文件。

因此,对于第二个选项,我在我的页面中编写了代码,例如:

<link rel="manifest" href="manifest.json" ng-if="orientation == 'landscape'">

...并在控制器中切换orientation的值 - 意图根据需要强制它。

但是上述方法不起作用。

关于如何使这项工作的任何想法?

1 个答案:

答案 0 :(得分:0)

我不知道angularjs部分。但您可以尝试/使用Orientationlock plugin动态锁定和解锁方向。

来自插件说明

从您的JavaScript代码调用window.plugins.orientationLock.unlock()解锁方向,window.plugins.orientationLock.lock("portrait")window.plugins.orientationLock.lock("landscape")将您的屏幕锁定到指定的方向。

在Cordova活动的onCreate()中启动Cordova应用程序预锁定位置setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

解锁后,您可以使用常规orientationchange事件跟踪方向更改:

window.addEventListener("orientationchange", function() {
   alert(window.orientation);
});