偶爾地,你可能想要確保你的應用程序在某一個肯定的方向上面顯示,橫屏模式或豎屏模式。例如,你可能會開發一款只在橫屏模式下面運行的遊戲。在這種狀況下,能夠經過編寫代碼,強制把Activity的方向設置爲橫向,這須要使用Activity類的setRequestOrientation()方法。 [java] view plaincopy import android.content.pm.ActivityInfo; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 設置爲橫屏模式 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } 若是想要設置爲豎屏模式,能夠使用ActivityInfo.SCREEN_ORIENTATION_PORTRAIT常量。 除了使用setRequestOrientation()方法,也能夠在AndroidManifest.xml文件中進行設置。 [html] view plaincopy <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="net.learn2develop.Orientations" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name" android:name=".OrientationsActivity" <!-- 設置screenOrientation--> android:screenOrientation="landscape" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 在以前的例子中,被包含的Activity被設置成了橫屏模式,同時阻止了Activity被銷燬。這是由於,Activity被設置成了固定的方向,當設備的方向改變時,Activity不會被銷燬,onCreate()方法也就不會被調用。 下面是android:screenOrientation屬性的另外兩個可取的值: portrait —— 豎屏模式 sensor —— 依據重力測試器去判斷方向(默認值)