Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 使用传感器事件检测手机方向大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Activity,需要锁定它的方向
setrequestedOrientation(screenOrientation);

但我希望获得方向更新,以便我可以对UI进行调整(想象一下HTC相机应用程序,只有按钮的图标改变方向).
所以我找到了this class.它提供了0到360之间的方向值.我可以过滤这个值,即完美区间[a,b],如果< x< b那么方向是横向还是纵向?计算意味着什么?任何提示

解决方法

听起来你需要代码才能在设备的方向改变为4个法线方向之一而不是每个角度时做出反应.这会将方向过滤为仅限0度,90度,180度和270度的值:
OrientationEventListener myOrientationEventListener;
    int iOrientation;

    myOrientationEventListener = new OrientationEventListener(this,SensoRMANager.SENSOR_DELAY_NORMAL)
    {

        @Override
        public void onOrientationChanged(int iAnglE)
        {                         // 0  15 30 45 60 75,90 105,120,135,150,165,180,195,210,225,240,255,270,285,300,315,330,345
            final int iLookup[] = {0,90,0}; // 15-degree increments 
            if (iAngle != ORIENTATION_UNKNowN)
            {
                int iNewOrientation = iLookup[iAngle / 15];
                if (iOrientation != iNewOrientation)
                {
                    iOrientation = iNewOrientation;
                    // take action on new orientation here
                }
            }
        }
    };

    // To display if orientation detection will work and enable it
    if (myOrientationEventListener.canDetectOrientation())
    {
    Toast.makeText(this,"Can DetectOrientation",Toast.LENGTH_LONG).show();
        myOrientationEventListener.enable();
    }
    else
    {
    Toast.makeText(this,"Can't DetectOrientation",Toast.LENGTH_LONG).show();
    }

大佬总结

以上是大佬教程为你收集整理的android – 使用传感器事件检测手机方向全部内容,希望文章能够帮你解决android – 使用传感器事件检测手机方向所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。