Android app設定全屏模式
阿新 • • 發佈:2019-01-26
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" />