android手機旋轉方向識別

來源:互聯網
上載者:User

標籤:log   pre   豎屏   cap   art   nal   roi   break   bre   

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

 

android手機旋轉方向識別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.