Android动态切换全屏和非全屏模式

摘要 Android程序中要设置全屏包括两个部分: 窗口 全屏和A ctivity 全屏 窗口全屏 是指隐藏系统顶部用来显示时间、电量、信号等信息的 标题栏 ,A ctivity全屏 是指隐藏程序的标题栏 (只需 requestWindowFeature(Window.FEATURE_NO_TITLE); //不显示程序的标题

    Android程序中要设置全屏包括两个部分:窗口全屏和Activity全屏

    窗口全屏是指隐藏系统顶部用来显示时间、电量、信号等信息的标题栏,Activity全屏是指隐藏程序的标题栏(只需requestWindowFeature(Window.FEATURE_NO_TITLE);``//不显示程序的标题栏)。这里讨论的是第二种。我们可以在程序代码中设置,也可以通过修改AndroidManifest.xml文件来实现。

    1.修改程序代码。

    我们需要在Activity的onCreate方法中添加相应的代码。请注意代码的位置,要在setContentView()方法之前调用哦。

public class Home extends Activity {
    @Override
    protected 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);
    }
     
}

    2.修改AndroidManifest.xml。

    我们可以修改标签或标签的属性值来实现。他们的区别是修改标签后所有的Activity都会全屏,而修改后只针对当前的Activity有效。注 意:android:theme="@android:style/Theme.NoTitleBar.Fullscreen"的位置,我在两处都设置上 了,大家可以根据实际状况做出调整。```

<manifest xmlns:android="http://schemas.android.com/apk/res/android"       package="org.dw.enotes"       android:versionCode="1"       android:versionName="1.0">     <application android:icon="@drawable/icon"         android:label="@string/app_name"                  android:theme="@android:style/Theme.NoTitleBar.Fullscreen">           <activity             android:name=".activity.Hello"             android:label="@string/app_name"                          android:theme="@android:style/Theme.NoTitleBar.Fullscreen">                                                                                       


  

要动态的切换全屏与非全屏,那么则只能采用第一种方法。  

package com.screen;           import android.app.Activity;    import android.os.Bundle;    import android.view.View;    import android.view.WindowManager;    import android.view.View.OnClickListener;    import android.widget.Button;           public class MainActivity extends Activity {           private boolean isFulllScreen = false;    private Button button;           @Override    public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    button = (Button)findViewById(R.id.button);    button.setOnClickListener(new OnClickListener() {                   @Override        public void onClick(View v) {            isFulllScreen = !isFulllScreen;            if (isFulllScreen) {                button.setText(getResources().getText(R.string.exit_full_screen));                WindowManager.LayoutParams params = getWindow().getAttributes();                params.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;                getWindow().setAttributes(params);                getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);            } else {                button.setText(getResources().getText(R.string.full_screen));                WindowManager.LayoutParams params = getWindow().getAttributes();                params.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);                getWindow().setAttributes(params);                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);            }        }    });           }    }