zoukankan      html  css  js  c++  java
  • android手机旋转方向识别

    private OrientationEventListener mOrientationListener;
        private String TAG = "MainActivity";
        private int screenCurOrient = 2; //1表示正竖屏,2表示正横屏,3表示反竖屏,4表示反横屏
    
        private final void startOrientationChangeListener() {
            mOrientationListener = new OrientationEventListener(this) {
                @Override
                public void onOrientationChanged(int rotation) {
                    //判断四个方向
                    if (rotation == -1) {
                        Log.d(TAG, "手机平放:" + rotation);
                    } else if (rotation < 10 || rotation > 350) {
                        screenOrientChange(1);
                    } else if (rotation < 100 && rotation > 80) {
                        screenOrientChange(4);
                    } else if (rotation < 190 && rotation > 170) {
                        screenOrientChange(3);
                    } else if (rotation < 280 && rotation > 260) {
                        screenOrientChange(2);
                    }
                    else
                    {
                    }
                }
            };
            mOrientationListener.enable();
        }
    
        private void screenOrientChange(int Orient)
        {
            if(Orient != screenCurOrient)
            {
                screenCurOrient = Orient;
                switch (screenCurOrient)
                {
                    case 1:
                        Log.d(TAG, "正竖屏:");
                        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                        break;
                    case 2:
                        Log.d(TAG, "正横屏:");
                        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
                        break;
                    case 3:
                        Log.d(TAG, "反竖屏:");
                        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                        break;
                    case 4:
                        Log.d(TAG, "反横屏:");
                        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
                        break;
                }
            }
        }

    onCreate方法中调用startOrientationChangeListener方法即可。
  • 相关阅读:
    easy ui 常用控件配置
    oracel 查询语句
    .Net 取树形结构的数据
    Asp.Net Core File的操作
    js 页面技巧
    ASP.NET Core 文件上传
    ASP.NET EF实体主外键关系
    ASP.NET MVC 后台传值前端乱码解决方案 富文本Ueditor编辑
    手机访问网站自动跳转到手机版
    Ecshop布局参考图
  • 原文地址:https://www.cnblogs.com/chenhaib/p/7417414.html
Copyright © 2011-2022 走看看