博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android手机旋转方向识别
阅读量:5057 次
发布时间:2019-06-12

本文共 2039 字,大约阅读时间需要 6 分钟。

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方法即可。

 

转载于:https://www.cnblogs.com/chenhaib/p/7417414.html

你可能感兴趣的文章
蓝桥杯-分小组-java
查看>>
Java基础--面向对象编程1(类与对象)
查看>>
Android Toast
查看>>
iOS开发UI篇—Quartz2D使用(绘制基本图形)
查看>>
docker固定IP地址重启不变
查看>>
桌面图标修复||桌面图标不正常
查看>>
JavaScript基础(四)关于对象及JSON
查看>>
关于js sort排序方法
查看>>
JAVA面试常见问题之Redis篇
查看>>
javascript:二叉搜索树 实现
查看>>
网络爬虫Heritrix源码分析(一) 包介绍
查看>>
__int128的实现
查看>>
Problem - 1118B - Codeforces(Tanya and Candies)
查看>>
jdk1.8 api 下载
查看>>
svn 图标不显示
查看>>
getElement的几中属性介绍
查看>>
iOS 使用Quartz 2D画虚线 【转】
查看>>
平面最接近点对
查看>>
HTML列表,表格与媒体元素
查看>>
PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点?
查看>>