在 Android 8.0 中,用户可以通过“快捷设置”图块或“显示”设置,在自动屏幕旋转模式和纵向旋转模式之间切换。在 Android 9 中,我们更新了纵向旋转模式,通过固定当前屏幕旋转方向来避免发生意外旋转(即使设备位置发生变化)。用户可以根据需要手动触发旋转,只需按一下导航栏中的新按钮即可。我们将纵向模式重命名为“旋转锁定”,它会在自动屏幕旋转模式关闭时启用。自动屏幕旋转模式没有任何变化。

当设备处于旋转锁定模式时,用户可以将其屏幕锁定为顶层可见 Activity 支持的任何旋转方式(受当前系统限制约束)。如果顶层 Activity 可在自动屏幕旋转模式下以多种旋转方向呈现,则旋转锁定模式下应提供相同的选项(根据 screenOrientation 设置,也允许存在一些例外情况)。

旋转锁定模式的工作原理是:当设备旋转方向发生变化时,在导航栏中显示一个按钮。为此,即使自动屏幕旋转模式处于关闭状态,设备的屏幕方向传感器也必须一直保持启用状态。点按此按钮即相当于设定用户旋转方向偏好设置 (Settings.System.USER_ROTATION)。WindowManager 会根据此偏好设置以及有关顶层 Activity 和系统状态的其他详细信息来改变系统的旋转方向。移动到另一个 Activity 时,为了确定以何种旋转方向呈现系统,WindowManager 会继续参考用户的旋转方向偏好设置。

图 1. 启用“在主屏幕按钮上向上滑动”手势后的旋转建议按钮

在多个 Activity 之间移动时࿰

android 导航栏旋转,旋转建议  |  Android 开源项目  |  Android Open Source Project相关推荐

  1. android文档导航条跳来跳去,莫名其妙的Android导航栏

    iPhone的底部导航栏很是受欢迎,以至于在Android上面也有不少应用模仿.其实在开源界已经有很多不错的类似于这种导航栏的开源库,不过今天介绍的这款有些许不同,它有一个莫名的功能--在导航栏中插入 ...

  2. Android三大按钮,模拟Android导航栏三大金刚按键点击

    模拟Android导航栏三大金刚按键点击 这里需要使用的是AccessibilityService无障碍辅助服务,可以全局监听界面所有的变化: 1.构建无障碍服务 public class Float ...

  3. android双导航功能吗,Android导航栏隐藏与浮现(二)

    在Android导航栏隐藏与浮现(一)中已经以 Nexus5 为例,Android M 为基础介绍了怎么实现底部导航栏的隐藏与浮现,本文将介绍怎么在设置(辅助功能)中加入控制该功能的开关. Paste ...

  4. android导航栏隐藏与浮现

    Android M已经发布了很久了,很多新的特性也非常的吸引人,比如Doze模式可以使导航时间更长,刷到nexus5上,体验了一下确实不错.但是导航栏(虚拟按键)一直存在,感觉不是特别的爽.今天我们就 ...

  5. Android消息通信之无所不能的第三方开源项目EventBus

     Android消息通信之无所不能的第三方开源项目EventBus 在Android开发中,消息通信在开发过程中是比较重要但比较略微繁琐的过程,比如,Activity与Fragment之间的消息通 ...

  6. 【开源项目----Android OPenGLES渲染YUV视频文件】

    [开源项目----Android OPenGLES渲染YUV视频文件] OpenGLES对YUV渲染相关文章参考

  7. 基于 Kotlin 一行代码实现 android 导航栏 BottomBar

    主要功能点 构建者模式链式设置导航栏条目 自定义导航栏的字体大小图片大小 支持纯文字类型 支持底部按钮点击事件 代码简洁不到300行,只有一个类 直接拿来用 看效果是否满意 上代码 直接先贴代码Bot ...

  8. Android导航栏ActionBar的具体分析

    尊重原创:http://blog.csdn.net/yuanzeyao/article/details/39378825 关于ActionBar,相信大家并不陌生,可是真正能够熟练使用的也不是许多,这 ...

  9. android导航栏高度开启,如何在Android中真正获得导航栏高度

    这是我用来获取导航栏大小的代码.它的高度将在Point.y中 public static Point getNavigationBarSize(Context context) { Point app ...

最新文章

  1. 网络的塔建+模型训练
  2. 又一个 Java 面试神器!
  3. Android移动开发之【Android实战项目】DAY14-修改json里某个字段的值
  4. Android 如何有效的解决内存泄漏的问题
  5. Redis02_数据模型初识
  6. CentOS7:JDK1.7.0_80安装
  7. 转载一个程序员的游戏之路
  8. html列自动变高,HTML_CSS三行三列DIV高度自适应的设置,用脚本控制三行三列div高度自 - phpStudy...
  9. 一起谈.NET技术,asp.net控件开发基础(9)
  10. 玩客云pc端_玩客云下载-玩客云电脑版下载-华军软件园
  11. mapgis6.7破解版|mapgis6.7破解版客户端(附安装教程)下载
  12. matlab怎么fprintf,matlab中的fprintf函数怎么用
  13. drupal 执行.php文件,Drupal7.xPHP代码执行漏洞分析
  14. 终于搞清楚了:SOLID设计原则出处
  15. golang使用go Modules相关命令时报错
  16. 魔道电子——稳压二极管、瞬态抑制二极管
  17. 夜神模拟器4K模拟配置
  18. js 获取设备或浏览器唯一标识的方式
  19. 高级数据操作--联合查询
  20. 【情态动词练习题】Can / Could you

热门文章

  1. HTML文本样式,字体样式,列表,表格详解
  2. 明日科技python从入门到精通_Python从入门到精通(软件开发视频大讲堂)
  3. 用一个简单的例子说明如何使用S函数进行Simulink建模
  4. 计算机图形学实习教程之基本图形的生成(直线DDA算法,直线中点算法,Bresenham画圆算法),利用C#实现,附源码
  5. 记一次Dubbo PR
  6. github客户端(Windows)的使用
  7. Nachos实习——Lab1线程机制实习报告
  8. 4G路由器串口modbus RTU转TCP协议测试基本示例
  9. 《算法导论3rd第十五章》动态规划
  10. 双树复小波变换Dual-Tree Complex Wavelet Transform在信号处理中的应用