本质上有两种情况:设备平放不平。平面是指设备屏幕表面与世界xy平面之间的角度(我称之为倾斜度)小于25度或大于155度。想想电话平躺或从桌子上稍微倾斜一下。

首先,您需要对加速度计矢量进行归一化。

也就是说,如果g是由加速度传感器事件值返回的向量。在代码中

float[] g = new float[3];

g = event.values.clone();

double norm_Of_g = Math.sqrt(g[0] * g[0] + g[1] * g[1] + g[2] * g[2]);

// Normalize the accelerometer vector

g[0] = g[0] / norm_Of_g

g[1] = g[1] / norm_Of_g

g[2] = g[2] / norm_Of_g

那么倾斜度可以计算为

int inclination = (int) Math.round(Math.toDegrees(Math.acos(g[2])));

从而

if (inclination < 25 || inclination > 155)

{

// device is flat

}

else

{

// device is not flat

}

对于平放的情况,您必须使用指南针来查看设备从起始位置旋转多少。

对于不平坦的情况,旋转(倾斜)计算如下

int rotation = (int) Math.round(Math.toDegrees(Math.atan2(g[0], g[1])));

现在旋转= 0表示设备处于正常位置。这是大多数手机和平板电脑风景的肖像没有任何倾斜。因此,如果您按照上方的照片持有手机并开始旋转,则旋转将会改变,而当手机处于横向状态时,旋转将为90或-90取决于旋转方向。

android程序xy数值设置,如何使用Android中的加速度计在XY平面上测量手机的倾斜度...相关推荐

  1. word文档怎么给数字加千分符_Word中如何将文档中的金额数值设置为财务数字中的千分位格式...

    Word中如何将文档中的金额数值设置为财务数字中的千分位格式 时间:2015-06-10   作者:snow   来源:互联网 如图6‑19所示为某公司给省商务厅上报的2013年农产品现代流通综合试点 ...

  2. android 修改应用权限设置在哪里,Android在应用设置里关闭权限,返回生命周期处理...

    问题 在处理6.0运行时权限时,很多人都忽略了这样一个问题: 在一个App应用里,如果已经允许了一个权限比如(读取通讯权限),此刻去调用相机,弹出权限申请对话框,此刻点击拒绝,然后经过处理后弹出去设置 ...

  3. Android Studio同步失败设置代理,Android Studio如何设置代理?

    由于使用Android Studio期间,很多时候都要访问谷歌官方服务器,但是由于一些其他原因,会导致连接不上或者速度很慢,那就需要我们设置一下国内的镜像代理了.下面,让我们一起来看看Android ...

  4. Android的main方法,Android程序没有main函数,那Android程序的执行入口在哪儿?

    首先,我们可以了解,Android程序可以由一个或者多个Activity组成,每个Activity之间并没有很紧密的联系. 我们可以在自己的程序中调用其他的Activity,特别是自己的代码之外生成的 ...

  5. android程序怎么导入图片不显示,android – ImageViewZoom中不显示图像

    我想在 ImagePagerActivity中使用 ImageViewZoom和 Universal Image Loader. 那么,我做了什么: >我将imageviewtouch.jar添 ...

  6. 如何运行编好的Android程序,3. 编写的第一个android HelloWorld程序如何在手机上面调试运行...

    以前有用自己的手机开发过Android的小程序玩玩,现在又想学习下 opencv + android的开发,按照网上的教程配置了两天的环境了, 发现编写的HelloWorld程序在 avd4.2的设备 ...

  7. 基于android的防抖音直播,通过AirDroid无线投屏,在抖音上直播手机游戏

    AirDroid是安卓手机必装的应用,也是抖音官方推荐使用的安卓手机投屏神器.通过将手机屏幕投屏到电脑上进行手机游戏直播,深受直播界各大主播和游戏爱好者喜爱. 那么,要如何使用AirDroid进行手机 ...

  8. android获得textview数值,android-如何获取textview中的文本语言?

    我在Android消息传递应用程序中有一个textview,我收到了我的android手机的消息,并在textviews中显示了它们,如果文本是波斯语,我想将layout_gravity设置为正确,那 ...

  9. android程序如何加密软件,如何在Android手机上隐藏(加密)文件夹(软件)

    今天,我将向您展示如何在Android手机上隐藏(加密)文件夹(软件)以及如何在Android手机上隐藏(加密)文件夹(软件),以便您轻松解决问题. 在使用Android手机的过程中,出于各种原因,我 ...

最新文章

  1. Windows Phone 7 XNA开发之关于图形的配置
  2. 联通 培训 c班还 20190814
  3. ThinkPHP6项目基操(20.实战部分 数据库操作返回值总结)
  4. FPGA学习笔记---Verilog HDL 可综合语句和不可综合语句汇总
  5. 007 - VUE + hexo blog
  6. hadoop安装详细步骤_LED透明屏安装步骤详细说明
  7. python读取配置文件获取所有键值对_Python读取properties配置文件操作示例
  8. struct 和typedef struct的区别
  9. 三年JAVA开发经验如何做到年薪35万
  10. swift 网络----利用URLSession的Data Task下载单张图片(包含图片的增量下载)
  11. Dell Windows 10中Outlook无法发邮件的问题排查思路
  12. 华为研发工程师编程题:明明的随机数 [python]
  13. Word2016任意页开始设置页码
  14. DNK基础之静态库、动态库、编译流程
  15. 无线模块数据加密,反码校验,发送字符串ABCDEFGHIJKLMNOP LED频闪
  16. Mac 系统中文输入-xelatex模版
  17. 电工电子电力拖动及自动化技术考核实训台QY-DG800D
  18. vue一些常用的工具函数封装
  19. DOM4J解析XML文档
  20. 技术博客一件发布系统的实验性技术方案Butterfly

热门文章

  1. 电子邮件客户端程序设计与实现 c++ 计网课设
  2. 公司组网核心、汇聚、接入层交换机配置
  3. Python 08-文件读写
  4. 5.Dict 字典类型
  5. java读取word的插件,java word 插件
  6. vrf名称_VRF中央空调中是什么意思
  7. 什么是反向链接,如何增加反向链接的数量
  8. 翻译:vscode官方文档 - 设置
  9. 银行本、异地,本、跨行存取款手续费大全
  10. 怎么把图片转成JPG格式