Android內置了方向感應器的支持。Android會根據所處的方向自動在豎屏與橫屏間切換。但是有的應用程序只能在橫/豎屏時運行,比如某些游戲,此時我們要鎖定該Activity運行時的屏幕方向,<activity>節點的
android:screenOrientation屬性可以完成該項任務
1.設置屏幕方向---設置全屏---設置窗體模式
A.設置屏幕方向:
* 1.Androidmanifest.xml設置,android:screenOrientation="landscape"
* 2.代碼設置橫豎屏(landscape:橫屏---portrait:豎屏),一定在setContentView()前面
B.設置全屏:
* 1.代碼實現--getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
* 2.Androidmanifest.xml設置Activity的主題,android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"
C.設置窗體模式:
* 1.代碼實現--getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
* 2.Androidmanifest.xml設置Activity的主題,android:theme="@android:style/Theme.Dialog"
2.代碼實現
(1)ScreenOrientationActivity.class
/** * A.設置屏幕方向 * 1.Androidmanifest.xml設置,android:screenOrientation="landscape" * 2.代碼設置橫豎屏(landscape:橫屏---portrait:豎屏),一定在setContentView()前面 * * B.設置全屏: * 1.代碼實現--getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); * 2.Androidmanifest.xml設置Activity的主題,android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen" * C.設置窗體模式: * 1.代碼實現--getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); * 2.Androidmanifest.xml設置Activity的主題,android:theme="@android:style/Theme.Dialog" */ public class ScreenOrientationActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //代碼設置橫豎屏(landscape:橫屏---portrait:豎屏) //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); //設置全屏 //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); //去除標題 //requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_scree_oritation); } }
(2)activity_scree_oritation.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_scree_oritation" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.langdon.taiyang.androidtest.activity.ScreenOrientationActivity"> <TextView android:text="屏幕方向" android:layout_width="match_parent" android:layout_height="wrap_content" /> </RelativeLayout>
(3)Androidmanifest.xml
<activity android:name=".activity.ScreenOrientationActivity" android:theme="@android:style/Theme.Dialog"> <!-- android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen" android:screenOrientation="landscape">--> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
3.效果圖如下:
![]() |
![]() |
![]() |
![]() |