且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Android 状态栏沉浸式的实现

更新时间:2022-01-07 03:05:44

版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758。 https://blog.csdn.net/u013132758/article/details/48557055

随着Android 系统的不断更新,Android设计趋于简单便捷,所有软件的设计现在都趋于扁平化设计。像微软的新出的Windows 10,google前不久出的Android M也就是Android 6.0系统的设计分格都是扁平化的。可能扯的有点远了。
大家都看到从Android 4.4后,有好多APP,像QQ等都有沉浸式状态栏,可能有读者不知道什么是沉浸式,看下图就知道了。本文小编为大家介绍如何写出沉浸式。
Android 状态栏沉浸式的实现
大家可以看到顶端系统栏和QQ状态栏是一个颜色的
**

1.第一步 先修改对应界面的布局文件

在xml文件中添加如下代码

android:clipToPadding="true"  
android:fitsSystemWindows="true"

如果不加clipToPadding和fitsSystemWindows这两个属性,Activity中的内容会整体上移状态栏高度的距离,状态栏会将Activity内容遮住。

2.第二部 然后修改对应的Activity文件

找到OnCreate方法,在oncreate方法中加入判断SDK的版本是否大于4.4,只有4.4以上才支持状态栏沉浸。
代码如下:

public class MainActivity extends Activity {  

    @SuppressLint("InlinedApi")  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  

        //判断当前SDK版本号,如果是4.4以上,就是支持沉浸式状态栏的  
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
        } 
    }  
}  

小编推荐一篇:小编感觉还不错
小编推荐