/** * 设置顶部状态栏一体 1步
BaseActivity的setContentView()之前
* 在具体的activity中实现第二部 */
private void setStatusBarOne(Activity context) { if (Build.VERSION.SDK_INT >= 21) { Window window = context.getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.TRANSPARENT); } }
/** * 设置状态栏一体 2步
view 为标题栏 */ public static void setStatusBar(Context context, View view) { if (Build.VERSION.SDK_INT >= 21) { int sh = ScreenUtils.getStatusHeight(context); ViewGroup.LayoutParams linearParams = (ViewGroup.LayoutParams) view.getLayoutParams(); //取控件textView当前的布局参数 linearParams.height = 20;// 控件的高强制设成20 linearParams.height = sh + ScreenUtils.dip2px(context, 45); view.setLayoutParams(linearParams); //使设置好的布局参数应用到控件 // view.setPadding(0, sh, 0, 0); } }