android布局全屏显示,状态栏和导航栏透明设置

一、布局全屏显示设置

这里有两种方式实现

1.如果你的Activity继承自android.app.Activity

设置AndroidManifest.xml文件,为activity添加(修改)一个属性为:android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

注意:如果你的Activity默认继承android.support.v7.app.AppCompatActivity,

就必须使用android:theme="@style/AppTheme"主题,这时候就得使用下面的方法了。

2.在代码中设置:

this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉Activity上面的状态栏

如下所示:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉Activity上面的状态栏
        setContentView(R.layout.activity_main);
    }

二、状态栏、导航栏透明设置

1、代码中设置

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

如下所示:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
        setContentView(R.layout.activity_main);
    }

2.在布局文件中设置activity属性为:

    android:fitsSystemWindows="true"

    android:clipToPadding="true"

这行下面这两行代码,添加与不添加,感觉没有多大影响。

猜你喜欢

转载自blog.csdn.net/Wang_WY/article/details/86630813