爱站网长尾关键词搜索,360社区app,融资平台公司是什么意思,小蜜蜂网站建设如题所问#xff0c;我最近遇到一个bug#xff0c;就是设置了摇感#xff0c;然后有用户反馈说设置了手机下拉的系统设置-屏幕旋转-关闭。然后屏幕还是会旋转的问题。
首先#xff0c;我们先从如何设置横竖屏了解下好了
设置横屏和竖屏的方法#xff1a;
方法一#x…如题所问我最近遇到一个bug就是设置了摇感然后有用户反馈说设置了手机下拉的系统设置-屏幕旋转-关闭。然后屏幕还是会旋转的问题。
首先我们先从如何设置横竖屏了解下好了
设置横屏和竖屏的方法
方法一在AndroidManifest.xml中配置
如果不想让软件在横竖屏之间切换最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性他有以下几个参数
unspecified:默认值 由系统来判断显示方向.判定的策略是和设备相关的所以不同的设备会有不同的显示方向.
landscape:横屏显示宽比高要长
portrait:竖屏显示(高比宽要长)
user:用户当前首选的方向
behind:和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)
sensor:有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。
nosensor:忽略物理感应器这样就不会随着用户旋转设备而更改了unspecified设置除外。
方法二在java代码中设置
设置横屏代码setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//横屏
设置竖屏代码setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏
因为横屏有两个方向的横法而这个设置横屏的语句如果不是默认的横屏方向会把已经横屏的屏幕旋转180°。
所以可以先判断是否已经为横屏了如果不是再旋转不会让用户觉得转的莫名其妙啦代码如下
if(this.getResources().getConfiguration().orientationConfiguration.ORIENTATION_PORTRAIT){setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
是吧设置的无非就这两种方法。但是搜索的方法千篇一律都是差不多的。然后我设置的是sensor。然后也不懂问题出在了哪里没办法只能继续去找资料看看。或许有更多的可能性没考虑到结果在一篇文章中找到了。 原来就是方向传感器决定的它没办法随系统设置的旋转。优先级比较高吧。吐了呀然后我就直接把清单文件的 android:screenOrientation 属性删了。用默认的属性或者改成 android:screenOrientationunspecified 。问题就解决了。
当然了还有标题出现的这个问题就是设置竖屏仍然跟随屏幕旋转可能需要你细心的找找你设置的方法一或者方法二哪一步设置错了。或者代码设置错了。毕竟慢工出细活要细心才不容易出错。
嗯嗯还有就是遇到了个问题如何判断是否开启自动旋转。下面就来分享一下方法系统是否允许自动旋转屏幕的方法 /*** 系统是否允许自动旋转屏幕*/public static boolean isAutoRotateOn(Context context) {//获取系统是否允许自动旋转屏幕return (android.provider.Settings.System.getInt(context.getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) 1);}之前有查阅的如下
Activity手动设置横竖屏展示之后继续保持横竖屏自动切换 - 简书
安卓 屏幕旋转 - 自由资讯
android设置横屏和竖屏的方法-腾讯云开发者社区-腾讯云