Android app設置全屏模式


Android中,為APP設置全屏模式,主要有如下幾種方式:

在manifest中設置

在項目中找到AndroidManifest.xml配置文件,找到Activity所在的節點,添加theme。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.name.test" android:versionCode="1" android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity" android:label="@string/app_name" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
                  <!--換成android:theme="@android:style/Theme.NoTitleBar" 亦可-->
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

其中,android:screenOrientation=”landscape”是修改Android手機的屏幕方向 
android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”是設置主題,即沒有標題並且全屏

在MainActivity中設置

在onCreate入口函數中通過setTheme()方法設置主題,setRequestedOrientation()方法設置屏幕方向。

public void onCreate(Bundle savedInstanceState){
    setTheme(style.Theme_Black_NoTitleBar_Fullscreen);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

另外,也可以使用requestWindowFeature()設置是否顯示標題,setFlags()方法設置全屏。但此方法明顯能看到title bar顯示了之后又消失了,用戶體驗不好。

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
  • 1
  • 2
  • 3
  • 4

配置Style + Manifest

首先,在res/values文件夾下創建或修改styles.xml文件

<?xmlversion="1.0" encoding="utf-8"?> 
<resources>
    <style name="NoTitle" parent="android:Theme"> <item name="android:windowNoTitle">true</item> </style> 
</resources> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

然后,修改AndroidManifest.xml

<activity  android:label="@string/app_name" android:theme="@style/NoTitle" />

Android中,為APP設置全屏模式,主要有如下幾種方式:

在manifest中設置

在項目中找到AndroidManifest.xml配置文件,找到Activity所在的節點,添加theme。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.name.test" android:versionCode="1" android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity" android:label="@string/app_name" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
                  <!--換成android:theme="@android:style/Theme.NoTitleBar" 亦可-->
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

其中,android:screenOrientation=”landscape”是修改Android手機的屏幕方向 
android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”是設置主題,即沒有標題並且全屏

在MainActivity中設置

在onCreate入口函數中通過setTheme()方法設置主題,setRequestedOrientation()方法設置屏幕方向。

public void onCreate(Bundle savedInstanceState){
    setTheme(style.Theme_Black_NoTitleBar_Fullscreen);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

另外,也可以使用requestWindowFeature()設置是否顯示標題,setFlags()方法設置全屏。但此方法明顯能看到title bar顯示了之后又消失了,用戶體驗不好。

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
  • 1
  • 2
  • 3
  • 4

配置Style + Manifest

首先,在res/values文件夾下創建或修改styles.xml文件

<?xmlversion="1.0" encoding="utf-8"?> 
<resources>
    <style name="NoTitle" parent="android:Theme"> <item name="android:windowNoTitle">true</item> </style> 
</resources> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

然后,修改AndroidManifest.xml

<activity  android:label="@string/app_name" android:theme="@style/NoTitle" />


免責聲明!

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



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