我正在使用Ionic / Cordova,我将其添加到androidManifest.xml
,但这对我不起作用,应用程序仍以两种方式显示
android:screenOrientation="portrait"
如何将我的应用仅限制为纵向模式?我已经检查了android并且它没有工作
答案 0 :(得分:287)
如果您只想在所有设备上限制为纵向模式,则应将此行添加到项目根文件夹中的config.xml。
<preference name="orientation" value="portrait" />
之后,请在命令行中键入以下文本重建平台:
ionic build
答案 1 :(得分:33)
对于Ionic版本2及更高版本,您还需要为您使用的任何插件安装相应的Ionic Native包,包括cordova-plugin-
和phonegap-plugin-
个插件。
安装Ionic Native插件
从CLI为插件安装Ionic Native的TypeScript模块。
$ ionic cordova plugin add --save cordova-plugin-screen-orientation
$ npm install --save @ionic-native/screen-orientation
*请注意,--save
命令是可选的,如果您不希望将插件添加到package.json
文件
导入ScreenOrientation
插件
将插件导入controller
,documentation中提供了更多详细信息。
import { ScreenOrientation } from '@ionic-native/screen-orientation';
@Component({
templateUrl: 'app.html',
providers: [
ScreenOrientation
]
})
constructor(private screenOrientation: ScreenOrientation) {
// Your code here...
}
做你的事
以编程方式锁定和解锁屏幕方向。
// Set orientation to portrait
this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT);
// Disable orientation lock
this.screenOrientation.unlock();
奖励积分
您也可以获得当前的方向。
// Get current orientation
console.log(this.screenOrientation.type); // Will return landscape" or "portrait"
答案 2 :(得分:11)
根据https://cordova.apache.org/docs/en/4.0.0/config_ref/#global-preferences,
方向允许您锁定方向并防止界面旋转以响应方向的变化。可能的值包括默认值,横向或纵向。例如:
<preference name="Orientation" value="landscape" />
请注意,这些值区分大小写,它是“方向”,而不是“方向”。
答案 3 :(得分:4)
首先,您需要使用
添加 Cordova屏幕方向插件cordova plugin add cordova-plugin-screen-orientation
然后将screen.lockOrientation('portrait');
添加到.run()
方法
angular.module('myApp', [])
.run(function($ionicPlatform) {
screen.lockOrientation('portrait');
console.log('Orientation is ' + screen.orientation);
});
})
答案 4 :(得分:3)
如果你想在你的方向做某事意味着你想在改变你的应用方向时执行任何动作,那么你必须使用离子框架插件... https://ionicframework.com/docs/native/screen-orientation/
如果您只想在纵向或横向模式下限制您的应用,那么您只需在config.xml中添加以下这些行
<preference name="orientation" value="portrait" />
OR
<preference name="orientation" value="landscape" />
答案 5 :(得分:2)
请在android:screenOrientation="portrait"
文件中添加androidManifest.xml
作为android的活动标签的属性。
<activity
android:name="com.example.demo_spinner.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
答案 6 :(得分:1)
在角度handles.ax=axes('NextPlot','add',... %get the axes where the detections will be plotted for an easy finding of the interference
'DataAspectRatio',[1 1 1],... %# match the scaling of each axis,
'XLim',[0 (handles.dataLength-20000)*(1/handles.fs)*(1e3)],... %# set the x axis limit,
'YLim',[0 eps],... %# set the y axis limit (tiny!),
'Color','none',...
'Position',[0.02 0.35 0.96 1]);
set(handles.ax,'Parent',handles.detectAx);axes(handles.ax); %get the axes where the plot will be made
内,添加如下所示的行app.js
:
的
screen.lockOrientation('portrait');
angular.module('app', ['ionic'])
.run(function($ionicPlatform) {
// LOCK ORIENTATION TO PORTRAIT.
screen.lockOrientation('portrait');
});
})
函数中还有其他代码,但您感兴趣的是我写的行。
我没有在代码中添加行.run
,但您可能需要添加<preference name="orientation" value="portrait" />
答案 7 :(得分:1)
在config.xml中添加以下行
<preference name="orientation" value="portrait" />
答案 8 :(得分:0)
你可以试试这个: -
Cordova插件以iOS,Android,WP8和Blackberry 10的常用方式设置/锁定屏幕方向。此插件基于Screen Orientation API的早期版本,因此api目前不符合当前规范。
https://github.com/apache/cordova-plugin-screen-orientation
或在xml配置中尝试此代码: -
<preference name="orientation" value="portrait" />