精华内容
下载资源
问答
  • 如何设置屏幕不自动旋转
    2021-06-08 04:23:15

    如题,Android在手动设置屏幕方向后不能使用自动转屏了,这是因为手动设置屏幕方向

    如:

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

    相当于在Manifest文件中Activity节点下配置了:

    android:screenOrientation="landscape"

    这会导致该Activity方向锁定,不能自动转屏。But,手动转屏是可以的,所以我们只需要加上方向改变监听,然后手动转屏,也就达到了自动转屏的目的:

    class OrientationEventListenerImpl extends OrientationEventListener {

    public OrientationEventListenerImpl(Context context) {

    super(context);

    }

    @Override

    public void onOrientationChanged(int rotation) {

    Log.i("旋转角度:","rotation = "+rotation);

    //以下代码可以根据具体需求去配置

    // 设置为竖屏

    if (((rotation >= 0) && (rotation <= 45)) || (rotation >= 315)) {

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    }

    // 设置为横屏

    if(((rotation >= 225) && (rotation <= 315))) {

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

    }

    //设置为横屏(逆向)

    if(((rotation >= 45) && (rotation <= 135))) {

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);

    }

    }

    }

    然后再注册该监听器,比如在Activity的onCreate()方法中注册:

    OrientationEventListenerImpl orientationEventListenerImpl = new OrientationEventListenerImpl(this);

    orientationEventListenerImpl.enable();

    这样就可以实现自动转屏了。上面代码只实现了在3个方向上转屏,没有写逆向的竖直方向(一般都不会用到这个方向吧),如有需要可以自己加上,角度请自己计算,其方向常量为:

    ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT

    通过以上的代码,还可以再配合

    @Override

    public void onConfigurationChanged(Configuration newConfig) {

    super.onConfigurationChanged(newConfig);

    }

    就可达到自由控制屏幕显示方向的目的。

    更多相关内容
  • android自动旋转屏幕

    2018-03-22 15:31:59
    android高版本自动旋转屏幕,需要手动设置重力感应监听者,封装好了工具,直接用
  • 屏幕方向锁定后自动旋转.zip,太多无法一一验证是否可用,程序如果跑起来需要自调,部分代码功能进行参考学习。
  • 三星手机是韩国最大的跨国...虽然三星曾经遭遇危机,但是他们的S10系列还是卖的异常火爆,前不久刚有网友问过小编在三星S10当中要如何设置打开应用时自动旋转手机屏幕,所以小编今天就来跟大家分享一下具体的操作...

    三星手机是韩国最大的跨国企业集团三星集团研发的智能手机,三星手机真正开始风靡全球的时候是从A系列开始的,A系列最初是折叠型手机,最早的三星A188和A288都是三星的经典机型,而今天小编要说到的是三星手机系列中的S10系列,虽然三星曾经遭遇危机,但是他们的S10系列还是卖的异常火爆,前不久刚有网友问过小编在三星S10当中要如何设置打开应用时自动旋转手机屏幕,所以小编今天就来跟大家分享一下具体的操作方法及步骤,感兴趣的朋友就一起来看看吧。

    67322373ef7b16994afcef630655aa97.png

    方法步骤

    1.要进行上述操作的话我们需要先在三星S10当中使用日常程序这个功能,可以在手机的高级功能页面中打开,打开之后就会在桌面上生成一个日常程序的图标。

    97bfb6bba1a84b0e6f04b5bb82b16676.png

    2.生成图标之后,我们在手机桌面上点击它,就会进入到下图所示的界面中了,然后在界面的右上角找到+号并点击,添加一个环节。

    a6720bb46eb73a865d40cc0284ef60aa.png

    3.在添加环节时我们需要先为添加条件里面选择要进行自动旋转操作的应用程序,点击事件模块下面的“应用程序打开”。

    55e8de6422783a09163bedcfaa3c7beb.png

    4.应用程序选择完成之后我们就可以选择屏幕方向了,在显示这个模块中点击“屏幕方向”就可以了。

    76746217ea7d794e379af6fda0e14c95.png

    5.点击屏幕方向之后,界面下方就会弹出一个界面供我们选择方向了,然后我们根据这个应用程序使用时的屏幕方向,来选择就可以了。

    50311ea6e9cfcdaeaa2722edee9cdc63.png

    6.选择完成之后,我们在添加日常程序这里为这个事件取一个名称,方便我们记忆,否则当程序越来越多时会记混淆。

    99b05bfb8d3a4310f8a12ac87db2a6ad.png

    7.添加完成之后我们就可以在日常程序中看到刚刚设置的这个事件了,然后我们可以打开刚才设置过的应用程序,看看是否会自动旋转屏幕。

    3f8b0fabcb0c0c61903c97712aba225a.png

    以上就是在使用三星S10手机时设置打开应用就会自动旋转屏幕的方法步骤了,因为每个人适应使用的屏幕方向都不一样,有横向纵向或者随重力自动旋转的,那么我们就可以使用这个方法将屏幕方向固定成自己喜欢的,看着也会更舒服一些。

    展开全文
  • 模拟器旋转成横屏时只是外表横屏了,设备内不是真正的横屏,要设置设备随之自动旋转,操作如下: 打开android模拟器的设置setting 找到display: 点击进入后勾选Auto-rotate screen + ......

    网上真的是一堆牛头不对马嘴的劣质回答,简直无语,自己找了半天终于找到方法了。。。
    模拟器旋转成横屏时只是外表横屏了,设备内不是真正的横屏,要设置设备随之自动旋转,操作如下:

    • 打开android模拟器的设置setting
    • 找到display选项:
      在这里插入图片描述
    • 点击进入后勾选Auto-rotate screen 即可开启自动旋转

    在这里插入图片描述

    另外:如果要强制app竖直显示,不随设备旋转而旋转,在manifest文件中设置Activity的android:screenOrientation="portrait"即可

      <activity
          android:name=".MainActivity"
          android:exported="true"
          android:screenOrientation="portrait">
          <intent-filter>
              <action android:name="android.intent.action.MAIN" />
    
              <category android:name="android.intent.category.LAUNCHER" />
          </intent-filter>
      </activity>
    
    展开全文
  • 本文实例总结了Android实现屏幕旋转方法。分享给大家供大家参考。具体如下: 在介绍之前,我们需要先了解默认情况下android屏幕旋转的机制: 默认情况下,当用户手机的重力感应器打开后,旋转屏幕方向,会导致当前...
  • android 系统关闭系统自动旋转屏幕情况下利用设备感应器(方向传感器)实现横竖屏切换2.SensorManager sm=(SensorManager)getSystemService(SENSOR_SERVICE);3.在Activity的生命周期方法中注册与移除...

    android 系统关闭系统自动旋转屏幕情况下利用设备感应器(方向传感器)实现横竖屏切换

    2.SensorManager sm=(SensorManager)getSystemService(SENSOR_SERVICE);

    3.在Activity的生命周期方法中注册与移除SensorEventListener;

    在onResume()方法中注册sm.registerListerner(this,sm.getDefaultSensor(Sensor.TYPE_ORIENTATION),SensorManager.SENSOR_DELAY_FASTEST);

    其中Ssensor.TYPE_ORIENTATION该常量在3.0后已被Deprecated掉了,当时我还以为在4.0里不建议用了,用其他常量代替结果未能达到效果,然后我就查看sdk中自带的demo中使用的竟然还是这个常量,这样就简单了,剩下的就是在SensorEventListener接口的实现方法中实现自己的操作就可以了;

    4.在onSensorChanged(SensorEvent event) 中实现自己的操作;

    alues[0]: Acceleration minus Gx on the x-axis

    values[1]: Acceleration minus Gy on the y-axis

    values[2]: Acceleration minus Gz on the z-axis

    根据api文档中的说法在这块我只要values[2]就可实现当屏幕横竖屏时切换屏幕;

    大概意思是绕Z轴正向旋转与逆向旋转两种方式,

    1.正向旋转时只需要判断values[2]>40.0f&&values[2]<70.0f;

    2.逆向旋转时只需要判断values[2]-70.0f;

    3.屏幕竖直时也就是正向时判断 :values[2]<10.0f&&values[2]>-10.0f;

    当然你也可以根据你的实际情况(转屏时灵敏度)调整这个范围;

    在实现中要对event事件加synchronized(this)同步块;

    接下来的工作就是在三种状态下设置让屏幕旋转的方向(横屏,竖屏),其中要注意的是横屏有两种状态,正向横屏与逆向横屏时屏幕的内容要显示正确;

    在这三种 状态下做的操作如下:

    synchronized (this) {

    int orientation = getRequestedOrientation();

    if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {

    if (40.0f < event.values[2] && event.values[2] < 70.0f) {// 向左

    if (orientation == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {

    } else {

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

    }

    } else if (-10.0f < event.values[2] && event.values[2] < 10.0f) { // 正北

    if (orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {

    } else {

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    }

    } else if (-70.0f < event.values[2] && event.values[2] < -40.0f) { // 向右

    if (orientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE) {

    } else {

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);

    }

    }

    } else {

    }

    }

    通过上述判断就可实现系统关闭系统屏幕旋转也能够自动横屏,不过在用上述方式实现前先要对manifest进行配置,详细配置见http://www.voidcn.com/article/p-ymlgygfw-rr.html

    转载请注明出处!

    展开全文
  • 想要修改系统设置,需要apk有系统权限,有系统权限manifest文件要添加android:sharedUserId=“android.uid.system”,...设置屏幕是否自动旋转 Settings.System.putInt(mContext.getContentResolver(), Settings.Syst
  • minicap 自动自动适应屏幕旋转,只要把对应的so放到手机,按照minicap的使用步骤,启动安卓服务器即可
  • Win8系统屏幕不自动旋转怎么办?.docx
  • alps/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/display_settings.xml index d7a93ee..6817e32 100644 @@ -87,11 +87,11 @@ android:fragment=...
  • Android 自动旋转屏幕总结

    千次阅读 2021-05-07 18:13:09
    sensor,根据物理传感器方向转动,用户90度、180度、270度旋转手机方向,activity都更着变化 sensorLandscape,横屏旋转,一般横屏游戏会这样设置 sensorPortrait,竖屏旋转 nosensor,旋转设备时候,界面不会跟着...
  • 1, 随着屏幕旋转,布局自动调整。做横竖屏适配 2,强制屏幕横屏,随着屏幕去调整 第一种方式这里就做说明了。代码做适配就可以。 下面说一下第二种实现方式 Flutter 自带方式 flutter 为我们提供了方法来控制...
  • Android屏幕旋转

    2021-05-26 09:02:02
    很久没有写文章了,找个时间整理下Android简单的屏幕旋转的生命周期和正确的竖屏锁定设置生命周期启动Activity会执行如下方法:onCreate –> onStart –> onResume之后旋转屏幕,则Activity会被销毁并重新创建...
  • adb命令自动旋转屏幕

    千次阅读 2021-01-21 15:32:38
    首先禁用自动旋转: adb shell content insert --uri content://settings/system --bind name:s:accelerometer_rotation --bind value:i:0 这条命令可以将屏幕设置为横向模式: adb shell content insert --...
  • 打开终端输入以下命令解决 gsettings set org.gnome.settings-daemon.peripherals.touchscreen orientation-lock true gsettings set org.gnome.settings-daemon.plugins.orientation active false
  • 余好读书,乐思善疑,有过目不忘之能,亦有掩卷即忘之病,故常撰文以记之……一、禁止屏幕旋转:打开工程中的 AndroidManifest....screenOrientation="landscape" (强制横屏)二、屏幕旋转不刷新 Activity:当屏幕旋...
  • 1.旋转屏幕 有两种方法,一种是命令行,一种是图形界面。这里只介绍命令行,因为其简单。 xrandr -o left #向左旋转90度,用于横屏转竖屏 xrandr -o right #向右旋转90度 xrandr -o inverted #上下翻转 xrandr -o ...
  • android自动屏幕旋转流程分析.docandroid自动屏幕旋转流程分析在android设置(Settings)中我们可以看到显示(display)下有一个自动屏幕旋转的checkbox,如果我们勾选checkbox的话当你手机屏幕就会根据重量自动旋转,...
  • ScrollAutoLayoutTest 基于自动布局的水平分页UIScrollView,可自动适应屏幕尺寸和屏幕旋转。 演示+视频教程可从
  • get install okular dia gimp Gpartedsudo add-apt-repository universesudo apt install gnome-tweak-tool安装好ubuntu 18.10之后,屏幕一直在自动旋转,使用xrandr -o normal命令,过个几分钟屏幕又会自动旋转,...
  • Unity3D自动旋转屏幕

    2020-08-10 18:15:47
    U3D打包的时候默认为任意... //自动旋转横屏:bool值代表是否开启 Screen.orientation = ScreenOrientation.AutoRotation; Screen.autorotateToLandscapeLeft = false; Screen.autorotateToLandscapeRight = false;
  • windows禁用屏幕旋转Windows 10 can automatically rotate your display if you have a convertible PC or tablet—just like your smartphone. You can lock your screen rotation in place, if you like. 如果您...
  • 讲解如何禁止iOS屏幕自动旋转

    千次阅读 2020-09-01 10:25:54
    讲解如何禁止iOS屏幕自动旋转 在重力感应游戏中,经常会造成屏幕自动旋转的情况,这样会造成屏幕倒置,对操作造成不便,禁止重力感应的方法是: 在“项目/ios/RootViewController.mm”中,找到如下函数 // Override to ...
  • 2、可以看到小窗口顶部左端出现一个亮着的带锁的循环符号,这表示手机的自动旋转功能被关闭了。3、点击一下带锁开关,可以看见开关的锁打开了并且符号暗了下来,这时使用手机就能自动旋转屏幕了。苹果手机屏幕不亮.....
  • 1.在Player Setting里面设置默认的启动屏幕正方向: 2.在控制类的Awake或者Start方法里面,再设置想要的旋转方向 1 2 ...  //设置屏幕自动旋转, 并设置支持的方向  Screen....
  • 【android开发】简单记录在代码中获取屏幕自动旋转开关状态 可以通过Settings.system方法获取设置的值 Settings.System.getInt(getContentResolver(),Settings.System.ACCELEROMETER_ROTATION) 返回的数值为0代表...
  • Win8系统屏幕自动旋转功能失效怎么办.docx
  • 一、界面的方法设置点击左下角,Preferences --... Add然后在Add 那里添加需要添加的命令,如"xrandr -o left"二、终端命令方法设置下面我们先看通过界面设置的方法设置之后,/home/linaro/ .config/lxsession/LXDE/a...
  • ZXing仅仅只提供了二维码和条形码...这样就会导致很多第一次使用zxing的盆友,需要自己写一个自适应屏幕大小和根据屏幕旋转自动缩放的摄像机。 详细请查看:http://blog.csdn.net/puremilk684/article/details/67639424

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,453
精华内容 26,181
关键字:

如何设置屏幕不自动旋转