[英]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.