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

how to force orientation mode in a particular view

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

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

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

...并在控制器中切换 orientation 的值 - 目的是按需强制它。

但是上面的方法是行不通的。

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

我不知道 angularjs 部分。但您可以 try/use Orientationlock plugin 动态锁定和解锁方向。

来自插件描述

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

在你的 Cordova activity.

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

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

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