当前位置: 首页 > news >正文

android系统屏幕旋转角度,应用界面横竖屏,设备旋转角度,三者的区别以及使用。

注意区分以下三种概念的区别!!!。以及使用这三种方式判断横竖屏的方式。

  1. 系统屏幕旋转角度

fun getSystemRotation(): Int {

val angle = (getSystemService(WINDOW_SERVICE) as WindowManager).defaultDisplay.rotation//系统屏幕旋转的角度值

return when(angle){

Surface.ROTATION_90->return 90//横屏

Surface.ROTATION_180->return 180//竖屏

Surface.ROTATION_270->return 270//横屏

else ->0//竖屏

}

}

与如下方式获取的角度值相同。但是下面方式在多屏时也可以应用。

var mDisplayManager = (DisplayManager) getSystemService(Context.DISPLAY_SERVICE)

mDisplayManager?.getDisplay(DEFAULT_DISPLAY)?.rotation

  1. 应用界面横竖屏判断(注意:多屏模式下横竖屏判断,与UI界面上View的显示相关)

横竖屏参考点为应用界面的宽高比的变化:宽比高小于1为竖屏,宽比高大于1为横屏

fun getConfigureRotaion():Int{

//Configuration.ORIENTATION_PORTRAIT 1 ,Configuration.ORIENTATION_LANDSCAPE 2

return resources.configuration.orientation//1为竖屏,2为横屏

}

  1. 设备旋转角度

inner class MyOrientationEventListener(context: Context) : OrientationEventListener(context) {

override fun onOrientationChanged(orientation: Int) {

//orientation在竖屏时数值,同系统屏幕旋转角度数值相同。在横屏时数值,相差180度.

//当设备的方向改变时调用。 orientation 参数以度为单位,取值范围为 0 到 359。

//当设备处于自然位置时,orientation 为 0 度->竖屏

//当它的左侧在顶部,orientation 为90 度->横屏

//当它倒置时,orientation 为180 度->竖屏

//当它的右边是顶部,270 度->横屏

// ORIENTATION_UNKNOWN 当设备接近平面且无法确定方向时返回。即,水平放置桌面时。

}

}

http://www.lryc.cn/news/14618.html

相关文章:

  • 【华为云-开发者专属集市】DevCloud+ECS、MySQL搭建WordPress
  • Milvus 群星闪耀时|又一个小目标达成 :社区正式突破 15,000 星!
  • Qt信号与槽使用方法总结
  • SpringCloud alibaba-Sentinel服务降级策略
  • python常用函数——random()函数
  • PX4之启动脚本
  • Java零基础入门到精通(持续更新中)
  • 杂七杂八(12):Bilibili视频缓存 m4s音视频合并 shell脚本
  • Qt 某光谱仪程序开发
  • 蛋白质组学技术与常见分析培训班火热招生中!
  • 唤醒手腕 Java 后端 Springboot 框架结合 socketio 学习笔记
  • C++入门:内联函数、auto关键字、基于范围for循环及指针空值nullptr
  • Python遗传算法
  • GEE学习笔记 六十四:绿色中国报告(个人版)
  • 【Kubernetes】【十八】数据存储 高级存储 配置存储
  • 传输层TCP与UDP协议
  • 字节数组的通俗解释
  • 硬件学习 软件Cadence day06 原理图网表导入PCB (过程和操作的错误),开始的画板
  • OCT 医学图像分类
  • 华为OD机试 - 合并数组 | 机试题算法思路 【2023】
  • 前端开发页面样式通用约定法则
  • 向上跳空缺口选股公式,选出回补后再启动的标的
  • 【IoT】做短视频之前,你需要先做好内容定位
  • 苏宁基于 AI 和图技术的智能监控体系的建设
  • 3、内存管理
  • 【蓦然回首忆Java·基础卷Ⅰ】
  • 类属性和对象属性
  • 【TensorFlow 】查看Tensorflow和python对应版本、将现有的TensorFlow更新到指定的版本
  • VO、DTO、BO、PO、DO区别
  • 速看!!!一套能直接拿捏大厂面试官的软件测试面试宝典