在NativeScript Angular中的Android手机中隐藏Lanscape模式

问题描述 投票:0回答:2

在NativeScript Angular中的Android手机中隐藏Lanscape模式

1。在Android平板电脑中同时允许两个方向

2。限制风景,并且仅允许手机使用portriat版本

nativescript
2个回答
0
投票

使用deviceType中的platforms了解应用程序正在运行的设备类型。如果是Tablet,则使用nativescript方向插件将方向锁定为纵向。


0
投票
lockOrientation(orientation) {
    const activity = app.android.startActivity;
    switch (orientation) {
        case 'unlocked':
            activity.setRequestedOrientation(android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
            break;

        case 'portrait-primary':
            activity.setRequestedOrientation(android.content.pm.ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            break;

        case 'portrait-secondary':
            activity.setRequestedOrientation(android.content.pm.ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
            break;

        case 'landscape-primary':
            activity.setRequestedOrientation(android.content.pm.ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
            break;

        case 'landscape-secondary':
            activity.setRequestedOrientation(android.content.pm.ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
            break;

        case 'portrait':
            activity.setRequestedOrientation(android.content.pm.ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
            break;

        case 'landscape':
            activity.setRequestedOrientation(android.content.pm.ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
            break;

        default:
            activity.setRequestedOrientation(android.content.pm.ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
            break;
    }

仅检查并调用下面的方法对我有用

        if (app.android && device.deviceType === 'Phone') {
            this.lockOrientation('portrait');
        }
© www.soinside.com 2019 - 2024. All rights reserved.