1. 程式人生 > >Android app設定全屏模式

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>

其中,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);
}

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

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

配置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> 

然後,修改AndroidManifest.xml

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

參考