在实际的应用程序开发中,我们有时需要把 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)应该不能同时使用