在开发过程用到的一些基础的功能,保存一下,就不用再到处乱找了!
现在很多的项目的状态栏都要求标题和状态栏的颜色一样,我的项目中也是,所以今天写一下
public void setImmerseStatue(View view) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); //透明导航栏 //getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); int statusBarHeight = getStatusBarHeight(this.getBaseContext()); view.setPadding(0, statusBarHeight, 0, 0); } } /** * 用于获取状态栏的高度。 使用Resource对象获取(推荐这种方式) * * @return 返回状态栏高度的像素值。 */ public static int getStatusBarHeight(Context context) { int result = 0; int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0) { result = context.getResources().getDimensionPixelSize(resourceId); } return result; }
如图:
这两个方法你可以自己定义一个基类,然后调用就行,就不用一遍一遍的调用了,
在调用的时候你调用setImmerseStatue(View view),传的这个参数view就是你定义xml根布局的view,这个根布局必须定义它的背景才能用,切记!这点很重要!其他的方法也能用,我也没有找,没有对比,希望喜欢,有用!其他相关的可以看看这个,这个写的很好http://devnote.info/2016/08/08/View%E9%A1%B6%E9%83%A8%E6%82%AC%E6%B5%AE%E5%AE%9E%E7%8E%B0/