Activity系列講解---Activity運行時的屏幕方向,全屏,窗體模式的設置


  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.效果圖如下:

 






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM