一般类都会继承基类,在基类oncreate里中写下如下代码
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
然后你app里的标题栏将会向上移动。。。
我处理的方法就是适配 在res创建一个values-v19的包 设置dimen.xml标题栏高度调高点,然后看需求适配就行了。。因为在4.4以下版本是没有状态栏变透明效果的
不过状态不是完全的透明,是一个渐变的过程 最上面还是呈现黑色。。。
有比较好的完全变成的透明的 可以提供下方法。。。。
也可以自己设计颜色
@TargetApi(21)
public void setStatusBarColor(int statusBarColor) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
// If both system bars are black, we can remove these from our layout,
// removing or shrinking the SurfaceFlinger overlay required for our views.
Window window = this.getWindow();
if (statusBarColor == Color.BLACK && window.getNavigationBarColor() == Color.BLACK) {
window.clearFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
} else {
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
}
window.setStatusBarColor(statusBarColor);
}
}