如何检测android中的颠倒方向?

如何检测android中的颠倒方向?,第1张

概述在我的 Android应用程序中我有全景图像,我根据手机运动使用TYPE_ORIENTATION传感器旋转此图像它适用于景观和potrait.这是旋转逻辑的代码. @Overridepublic void onSensorChanged(SensorEvent event) { switch (event.sensor.getType()) { case Sensor.TYPE_ORIE 在我的 Android应用程序中我有全景图像,我根据手机运动使用TYPE_ORIENTATION传感器旋转此图像它适用于景观和potrait.这是旋转逻辑的代码.
@OverrIDepublic voID onSensorChanged(SensorEvent event) {  switch (event.sensor.getType()) {  case Sensor.TYPE_ORIENTATION:    float[] insIDeval = getValPoints();    event.values[1]=(float) (event.values[1]*2.8);    event.values[2]=(float) (event.values[2]*2.8);    setValPoints(event.values.clone());        if (insIDeval != null) {            float check= insIDeval[0] - event.values[0];                        if (-1<=check && check <=1) {                //Animation stoped                      this.stopAnimation();            }else{                if (getdefaltDeviceOrIEntation() == ORENTATION_LANDSCAPE) {                     // Natural OrIEntation is landscape                      if (getcurrentDeviceOrIEntation() == 1) {                        //ORIENTATION_PORTRAIT                        startPoint = CGPoint.CGPointMake(insIDeval[2],insIDeval[1]);                                if (insIDeval[0] < event.values[0]) {                                    endPoint = CGPoint.CGPointMake(insIDeval[2]+ event.values[2],insIDeval[1]);                                } else if (insIDeval[0] > event.values[0]) {                                    endPoint = CGPoint.CGPointMake(insIDeval[2]- event.values[2],insIDeval[1]);                                }                            } else if (getcurrentDeviceOrIEntation() == 2) {                                //Log.i(TAG,"ORIENTATION_LANDSCAPE");                                startPoint = CGPoint.CGPointMake(insIDeval[1],insIDeval[2]);                                if (insIDeval[0] < event.values[0]) {                                    endPoint = CGPoint.CGPointMake(insIDeval[1]- event.values[1],insIDeval[2]);                                } else if (insIDeval[0] > event.values[0]) {                                    endPoint = CGPoint.CGPointMake( insIDeval[1]+event.values[1],insIDeval[2]);                                                    }                            }                        } else if (getdefaltDeviceOrIEntation() == ORENTATION_PROTRAIT) {                            // Natural OrIEntation is portrait                            if (getcurrentDeviceOrIEntation() == 1) {                                //Log.i(TAG,"ORIENTATION_PORTRAIT");                                startPoint = CGPoint.CGPointMake(insIDeval[1],insIDeval[2]);                                if (insIDeval[0] < event.values[0]) {                                    endPoint = CGPoint.CGPointMake(insIDeval[1]+ event.values[1],insIDeval[2]);                                } else if (insIDeval[0] > event.values[0]) {                                    endPoint = CGPoint.CGPointMake(insIDeval[1]- event.values[1],insIDeval[2]);                                }                            } else if (getcurrentDeviceOrIEntation() == 2) {                                //Log.i(TAG,"ORIENTATION_LANDSCAPE");                                startPoint = CGPoint.CGPointMake(insIDeval[2],insIDeval[1]);                                if (insIDeval[0] < event.values[0]) {                                    endPoint = CGPoint.CGPointMake(insIDeval[2]- event.values[2],insIDeval[1]);                                } else if (insIDeval[0] > event.values[0]) {                                    endPoint = CGPoint.CGPointMake(insIDeval[2]+event.values[2],insIDeval[1]);                                }                            }                        }                        this.drawVIEw();                    }                }                break;}}

所以我的问题是如果设备的方向改变颠倒图像将旋转到错误的方向(完全相反的方向).我如何解决这个问题以及当设备方向发生变化时实际发生了什么?
谢谢.

解决方法 使用设备当前旋转 http://developer.android.com/reference/android/view/Display.html#getRotation()

它返回4个选项之一ROTATION_0,ROTATION_90,ROTATION_180,ROTATION_270

总结

以上是内存溢出为你收集整理的如何检测android中的颠倒方向?全部内容,希望文章能够帮你解决如何检测android中的颠倒方向?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1130272.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存