MotionEvent getOrientation()返回屏幕方向而不是联系方向?

时间:2017-05-09 16:57:03

标签: java android touchscreen

我不确定我是否误解MotionEvent的{​​{1}}函数,但是从阅读documentation开始,我的理解是它应该回归主要的角度由接触点和垂直轴形成的椭圆轴。但是,它似乎是报告屏幕的方向。

在这里,我刚刚覆盖getOrientation()的{​​{1}}。当onTouchEvent事件触发时会有一些MainActivity发生变化,它们会显示长轴,短轴的长度,以及椭圆的方向。

TextView

TouchMajor和Minor工作正常,但我的问题是方向不随接触而改变。相反,当我旋转屏幕使屏幕方向改变时:

  • 90度CW = -PI / 2
  • Upright = 0.0
  • 90度CCW = PI / 2

报告的方向只是这三种中的一种。

所以我的问题是,我怎样才能正确抓住接触区的方向?我在Android 6.0.1上使用的是三星Galaxy S6。

1 个答案:

答案 0 :(得分:0)

即使在这个较晚的日期,大多数设备似乎都不能正确支持getOriention()。见Android finger detection - Orientation and ellipse