在實際的應用程序開發中,我們有時需要把 Activity 設置成全屏顯示,
一般情況下,可以通過兩種方式來設置全屏顯示效果。
其一,通過在代碼中可以設置,
其二,通過manifest配置文件來設置全屏,
其三,它們的小區別
其一:在代碼中設置(如下)
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //設置無標題
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- //設置全屏
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
- setContentView(R.layout.main);
- }
但要注意的是:
(1)在代碼中設置的話,設置無標題的代碼,要放置在 setContentView(R.layout.main); 這段代碼的前面,要不然會報錯。
設置全屏的代碼 ( 經過多次實驗,沒有這個要求)
(2) 代碼展示:
設置無標題:requestWindowFeature(Window.FEATURE_NO_TITLE);
設置全屏:
//getWindow():檢索當前活動的窗口activity; setFlags():設置窗口的標誌
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN
);
其二:在manifest配置文件中設置
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.andyidea"
- 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=".login.LoginActivity"
- android:theme="@android:style/android.NoTitleBar.Fullscreen"
- android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
- </manifest>
在相應的Activity中節點中添加屬性:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 即可以設置某個Activity全屏顯示。
android:theme="@android:style/Theme.NoTitleBar" 即是隻是設置成無標題狀態。
其三,它們的小區別:
在代碼中:
(1) requestWindowFeature(Window.FEATURE_NO_TITLE); "標題欄 沒有了"
(2) getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN
); " 菜單欄沒有了"
(3) 把(1)和(2)同時使用, " 標題欄和菜單欄沒有了"
通過manifest配置文件:
(1)android:theme="@android:style/Theme.NoTitleBar" "標題欄 沒有了"
(2)android:theme="@android:style/Theme.NoTitleBar.Fullscreen" " 標題欄和菜單欄沒有了"
(3)應該不能同時使用