禁止横屏和竖屏切换

在某些场合可能需要禁止横屏和竖屏切换,实现这个要求很简单,只要在AndroidManifest.xml里面加入这一行android :screenOrientation="landscape "(landscape 是横向,portrait 是纵向)。不过android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置。在activity加上android:configChanges="keyboardHidden|orientation"属性,就不会重启activity.而是去调用onConfigurationChanged(Configuration newConfig). 这样就可以在这个方法里调整显示方式.

Java代码
@Override  

    public void onConfigurationChanged(Configuration newConfig) {   

        try {   

            super.onConfigurationChanged(newConfig);   

            if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {   

                // land   

            } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {   

               // port   

            }   

        } catch (Exception ex) {   

     }   

    }  

上面是我找的资料,上面的操作做完了可以实现屏幕的横竖屏切换 不重新启动Activity 并且可以在方法中对横竖屏进行操作

我一般采取的方式是在AndroidManifest.xml中的显示的Activity中调整,红色字部分添加后实现手机屏幕的固定显示,设置为横屏就一直是横屏,设置为竖屏就一直是竖屏不会随着你手机的颠倒而改变,个人觉的挺好用的。

<application android:icon="@drawable/icon" android:label="@string/app_name">
  <activity android:name="QRCodeActivity" android:label="@string/app_name"
  android:screenOrientation="landscape" >
   <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
  </activity>

 </application>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UniApp是支持横屏竖屏切换的,可以通过一些简单的设置实现。首先,在页面配置文件(manifest.json)中设置“autoRotateScreen”属性,该属性用于指定是否支持自动切换屏幕方向。如果autoRotateScreen设置为true,则应用将自动根据用户设备方向旋转屏幕。如果不需要自动切换屏幕方向,可以将autoRotateScreen属性设置为false。 其次,UniApp还提供了一个插件“uni-rotate-screen”,可以手动控制屏幕方向。使用该插件,可以在需要横屏时,手动将屏幕旋转到横屏模式。在需要竖屏时,手动将屏幕旋转回竖屏模式。 具体实现步骤如下: 1. 在页面配置文件(manifest.json)中添加如下代码: ``` "app-plus": { "autoRotateScreen": true } ``` 2. 安装uni-rotate-screen插件,并在需要控制屏幕方向的页面中引入该插件。 ``` import uniRotateScreen from '@/uni_modules/uni-rotate-screen/js_sdk/uni-rotate-screen.js'; ``` 3. 使用uni-rotate-screen插件中的方法控制屏幕方向。 在需要横屏时: ``` uniRotateScreen.lockLandscape(); // 锁定横屏 ``` 在需要竖屏时: ``` uniRotateScreen.lockPortrait(); // 锁定竖屏 ``` 通过以上步骤,就可以在UniApp中实现横屏竖屏切换。值得注意的是,如果需要使用uni-rotate-screen插件实现手动控制屏幕方向,需要在app.vue组件的onShow和onHide生命周期方法中,手动添加如下代码: ``` uniRotateScreen.preventScreenShutoff(true); // 防止屏幕熄灭 ``` 这样才能够保证插件的正常使用,避免在使用过程中出现问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值