簡體   English   中英

如何鎖定Android屏幕方向

[英]How to lock android screen orientation

我正在制作一個Android視頻播放器,它具有類似於用戶可以在任何方向觀看視頻的功能,我只使用以下代碼:

Settings.System.putInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 1);

它可以工作,但是當我添加一個用戶可以鎖定方向的功能時,我就做到了:

Settings.System.putInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0);

所以我遇到了麻煩。 當我處於橫向方向並嘗試鎖定方向時,屏幕將變為縱向。 誰能解決這個問題或告訴我另一種處理方法?

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

要么

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);   

此處了解更多信息: 開發可識別方向的Android應用程序

使用以下代碼根據條件變化(如果else語句)

int currentOrientation = getResources().getConfiguration().orientation;
if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) 
     {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
     }
 else {
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
       }

要么

您可以在活動中設置任何人的風景或肖像。在屏幕旋轉時它永遠不會改變

<activity android:name="MyActivity"
 android:screenOrientation="landscape"
 android:configChanges="keyboardHidden|orientation|screenSize">
  ...
</activity>

在您的AndroidManifest.xml中,為每個活動放置

android:screenOrientation="landscape"

它迫使活動景觀。

只是您在manifest.xml文件中添加了以下屬性。

android:screenOrientation="portrait"

像這樣

<activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>

而已

您可以請求ScreenOrinentation public void setRequestedOrientation (int requestedOrientation) requestOrientation public void setRequestedOrientation (int requestedOrientation) 你可以這樣使用

// For landscape
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
 //OR for portrait 
 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
//OR reverse landscape
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
 //OR for reverse portrait
 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);

requestOrientation ActivityInfo.screenOrientation中使用的方向常數。

在API級別1的首選屏幕取向此活動想在運行。從screenOrientation屬性,SCREEN_ORIENTATION_UNSPECIFIED,SCREEN_ORIENTATION_LANDSCAPE,SCREEN_ORIENTATION_PORTRAIT,SCREEN_ORIENTATION_USER,SCREEN_ORIENTATION_BEHIND,SCREEN_ORIENTATION_SENSOR,SCREEN_ORIENTATION_NOSENSOR,SCREEN_ORIENTATION_SENSOR_LANDSCAPE,SCREEN_ORIENTATION_SENSOR_PORTRAIT,SCREEN_ORIENTATION_REVERSE_LANDSCAPE,SCREEN_ORIENTATION_REVERSE_PORTRAIT,SCREEN_ORIENTATION_FULL_SENSOR,SCREEN_ORIENTATION_USER_LANDSCAPE之一, SCREEN_ORIENTATION_USER_PORTRAIT,SCREEN_ORIENTATION_FULL_USER,SCREEN_ORIENTATION_LOCKED,

暫無
暫無

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

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