簡體   English   中英

在真實設備上順時針旋轉活動的問題

[英]Problem with Rotating Activity Clockwise On Real Device

我有一個活動,上面有一個按鈕,我想在每次用戶單擊按鈕后順時針旋轉90度,我編寫了一些代碼並在模擬器上工作,但是當我在真實設備上對其進行測試時,它並不完美,當我的代碼進入情況1時,它返回到PORTRAIT模式,而不是將旋轉更改為REVERSE_PORTRAIT

這是MyCode:

btnchangeRotation.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int rotation = getWindowManager().getDefaultDisplay().getRotation();
            Log.v("rotation--", ""+rotation);

            switch (rotation) {

                case 0:
                    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
                    break;
                case 1:
                    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
                    break;
                case 2:
                    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
                    break;
                case 3:
                    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                    break;
            }
        }
    });

我還像這樣向清單中添加了Permision:

<uses-permission
        android:name="android.permission.WRITE_SETTINGS"
        tools:ignore="ProtectedPermissions" />

請注意,它完全可以在模擬器上正常工作。 任何建議都會有所幫助。 感謝任何建議。

注意:當我在真實設備上打開屏幕旋轉時,它運作很好,但是當我關閉它時,它只是設置為縱向和橫向,我想用沒有陀螺儀傳感器的設備來完成。

 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

也許你的意思是:

MyActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

您擁有的版本只是調用方法,而Activity本身沒有任何處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM