收藏代码-Android状态栏工具代码

 全透状态栏   */  protected void setStatusBarFullTransparent() {      if (Build.VERSION.SDK_INT >= 21) {//21表示5.0          Window window = 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);      } else if (Build.VERSION.SDK_INT >= 19) {//19表示4.4          getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);          //虚拟键盘也透明          //getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);      }  }  /**   * 半透明状态栏   */  protected void setHalfTransparent() {      if (Build.VERSION.SDK_INT >= 21) {//21表示5.0          View decorView = getWindow().getDecorView();          int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;          decorView.setSystemUiVisibility(option);          getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);      } else if (Build.VERSION.SDK_INT >= 19) {//19表示4.4          getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);          //虚拟键盘也透明          // getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);      }  }  /**   * 如果需要内容紧贴着StatusBar   * 应该在对应的xml布局文件中,设置根布局fitsSystemWindows=true。   */  private View contentViewGroup;  protected void setFitSystemWindow(boolean fitSystemWindow) {      if (contentViewGroup == null) {          contentViewGroup = ((ViewGroup) findViewById(android.R.id.content)).getChildAt(0);      }      contentViewGroup.setFitsSystemWindows(fitSystemWindow);  }  /**   * 为了兼容4.4的抽屉布局->透明状态栏   */  protected void setDrawerLayoutFitSystemWindow() {      if (Build.VERSION.SDK_INT == 19) {//19表示4.4          int statusBarHeight = getStatusHeight(this);          if (contentViewGroup == null) {              contentViewGroup = ((ViewGroup) findViewById(android.R.id.content)).getChildAt(0);          }          if (contentViewGroup instanceof DrawerLayout) {              DrawerLayout drawerLayout = (DrawerLayout) contentViewGroup;              drawerLayout.setClipToPadding(true);              drawerLayout.setFitsSystemWindows(false);              for (int i = 0; i < drawerLayout.getChildCount(); i++) {                  View child = drawerLayout.getChildAt(i);                  child.setFitsSystemWindows(false);                  child.setPadding(0,statusBarHeight, 0, 0);              }          }      }  }

更多相关文章

  1. Android(安卓)内核源代码交叉编译纺
  2. Android各种调用
  3. android之启动桌面activity
  4. android 震动和提示音的实现代码
  5. Android(安卓)图片透明度处理代码
  6. Android(安卓)2.1 GPS定位和拍照功能代码
  7. android隐藏以及显示软键盘以及不自动弹出键盘的方法
  8. Android(安卓)判断软键盘的状态(显示,隐藏)
  9. Android(安卓)开发常用代码片段

随机推荐

  1. java.lang.RuntimeException: setAudioSo
  2. Android(安卓)ANR 分析解决方法
  3. android 操作sdcard中的多媒体文件(一)——
  4. 解决更新并使用最新ADT20不能创建android
  5. [转]Android的Handler总结
  6. Android应用程序的完全退出
  7. 深入浅出 - Android系统移植与平台开发(四
  8. (android)关于ListFragment使用
  9. Android调用ITelephony类的endCall()方法
  10. Android仿人人客户端(v5.7.1)——个人主页(