package org.zywx.wbpalmstar.base.util; import android.app.Activity; import android.graphics.Color; import android.os.Build; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; import org.zywx.wbpalmstar.widgetone.dataservice.WWidgetData; /** * 设置config.xml 里面的配置信息 * <p/> * Created by ylt on 16/6/14. */ public class ConfigXmlUtil { /** * 设置全屏 */ public static void setFullScreen(Activity activity) { if (WWidgetData.sFullScreen) { activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); } } /** * 设置状态栏颜色 */ public static void setStatusBarColor(Activity activity, int color){ if (color==-1){ return; } if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){//4.4 全透明状态栏 activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); } if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//5.0 全透明实现 Window window = activity.getWindow(); if (color!= Color.TRANSPARENT) { 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); } } /** * 设置状态栏颜色 */ public static void setStatusBarColorWithAddView(Activity activity, int color) { if (color==-1){ return; } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { View view = createStatusBarView(activity, color); if (view != null) { activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); ViewGroup viewGroup = (ViewGroup) activity.getWindow().getDecorView(); viewGroup.addView(view); View contentView = ((ViewGroup) activity.getWindow().getDecorView() .findViewById(Window.ID_ANDROID_CONTENT)).getChildAt(0); if(contentView instanceof ViewGroup){ ViewGroup content = (ViewGroup)contentView; //这个是为了内容不会伸到zh content.setFitsSystemWindows(true); content.setClipToPadding(true); } } } } /** * 获取系统状态栏的高度 * @param activity * @return */ private static int getStatusBarHeight(Activity activity) { int viewHeight = 0; if (activity != null) { int resourseId = activity.getResources().getIdentifier("status_bar_height", "dimen", "android"); viewHeight = activity.getResources().getDimensionPixelSize(resourseId); } return viewHeight; } /** * 创建一个view填充状态栏 */ private static View createStatusBarView(Activity activity, int color) { int viewHeight = getStatusBarHeight(activity); if (viewHeight == 0) { return null; } else { View view = new View(activity); ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, viewHeight); view.setLayoutParams(layoutParams); view.setBackgroundColor(color); return view; } } }