这个特性是andorid4.4支持的,最少要api19才可以使用。下面介绍一下使用的方法,非常得简单
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
// 透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
// 透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
状态栏是指手机屏幕上面显示电量、信号的那一栏,
导航栏是指有些手机没有物理按键,程序运行是会在最下方的那些返回键、Home键那一栏
但是在我们实际开发过程中,如果仅仅只是调用这个方法会遇到一系列的问题:
1、设置状态栏透明之后,布局页面会被顶上去,导致界面内部的部分布局和状态栏发生覆盖,网上会有很多资料让在布局的最上面那个空间里面加入两行代码(比如你最上面的是TextView,那则在TextView的布局里面加入这两行代码):
android:fitsSystemWindows=true
android:clipToPadding=true
解释一下上面两个布局属性的意思:
android:clipToPadding 定义布局间是否有间距
android:fitsSystemWindows=”true” 意思就是设置应用布局时是否考虑系统窗口布局;如果为true,将调整系统窗口布局以适应你自定义的布局。比如系统有状态栏,应用也有状态栏时。看你这个布局代码&