全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android沉浸式状态栏设计的实例代码

本文介绍了android沉浸式状态栏,分享给大家,希望对大家有帮助

一、概述

现在主流的App设计风格很多都用到了Materail Design,今天我们就来简单的实现一下改变状态栏颜色、让状态栏透明这两种效果。

二、实现状态栏设置颜色

我们写一个工具类StatusBarUtils

代码如下:

/**
   * 设置状态栏颜色
   *
   * @param activity
   */
  public static void setStatusColor(Activity activity, int color) {
    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
      //直接调用系统提供的方法 setStatusBarColor
      activity.getWindow().setStatusBarColor(color);
    } else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) {
      // 4.4 - 5.0 之间 采用一个技巧,首先把他弄*屏,在状态栏的部分加一个布局
      activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
      View view = new View(activity);
      ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, getStatusbarHeight(activity));
      view.setLayoutParams(params);
      view.setBackgroundColor(color);
      ViewGroup viewGroup = (ViewGroup) activity.getWindow().getDecorView();
      viewGroup.addView(view);
      // 获取activity中setContentView布局的根布局
      ViewGroup contentView = (ViewGroup) activity.findViewById(android.R.id.content);
      View activityView = contentView.getChildAt(0);
      activityView.setFitsSystemWindows(true);
    }
  }

  private static int getStatusbarHeight(Activity activity) {
    Resources resources = activity.getResources();
    int statusHeightId = resources.getIdentifier("status_bar_height", "dimen", "android");
    return resources.getDimensionPixelOffset(statusHeightId);
  }

在Android5.0以上直接调用系统提供的方法 setStatusBarColor,4.4-5.0之间,首先弄*屏,然后在状态栏的部分加一个布局。

三、设置状态栏透明

代码:

  public static void setActivityTranslucent(Activity activity) {
    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
      activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
      activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
    } else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) {
      activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    }
  }

代码就这么多,分析完毕,效果大家可以自己去试一试,我这就不上图了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# android沉浸式状态栏  # 安卓沉浸式状态栏  # Android Studio 全屏沉浸式透明状态栏效果的实现  # Android实现沉浸式状态栏功能  # Android编程中沉浸式状态栏的三种实现方式详解  # Android沉浸式状态栏 + actionBar渐变 + scrollView顶部伸缩效果  # Android沉浸式状态栏的实现代码  # 解决Android 沉浸式状态栏和华为虚拟按键冲突问题  # Android 沉浸式状态栏与隐藏导航栏实例详解  # Android 详解沉浸式状态栏的实现流程  # 状态栏  # 直接调用  # 就不  # 这么多  # 我这  # 把他  # 给大家  # 就来  # 都用  # 这两种  # 大家多多  # 上图  # 设计风格  # VERSION  # SDK_INT  # gt  # int  # Activity  # Build  # color 


相关文章: 如何通过IIS搭建网站并配置访问权限?  深入理解Android中的xmlns:tools属性  开封网站制作公司,网络用语开封是什么意思?  建站之星免费版是否永久可用?  浅析上传头像示例及其注意事项  如何设置并定期更换建站之星安全管理员密码?  建站主机与服务器功能差异如何区分?  广州美橙建站如何快速搭建多端合一网站?  如何在阿里云购买域名并搭建网站?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  宝塔面板创建网站无法访问?如何快速排查修复?  建站之星2.7模板快速切换与批量管理功能操作指南  如何用IIS7快速搭建并优化网站站点?  建站主机解析:虚拟主机配置与服务器选择指南  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  如何高效配置香港服务器实现快速建站?  如何解决VPS建站LNMP环境配置常见问题?  如何在阿里云ECS服务器部署织梦CMS网站?  油猴 教程,油猴搜脚本为什么会网页无法显示?  高端网站建设与定制开发一站式解决方案 中企动力  想学网站制作怎么学,建立一个网站要花费多少?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  江苏网站制作公司有哪些,江苏书法考级官方网站?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  如何将凡科建站内容保存为本地文件?  如何在IIS中新建站点并配置端口与物理路径?  内网网站制作软件,内网的网站如何发布到外网?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  建站主机选购指南与交易推荐:核心配置解析  如何通过多用户协作模板快速搭建高效企业网站?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  建站之星价格显示格式升级,你的预算足够吗?  ,怎么在广州志愿者网站注册?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Android使用GridView实现日历的简单功能  c# 在ASP.NET Core中管理和取消后台任务  如何在Windows虚拟主机上快速搭建网站?  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何在景安服务器上快速搭建个人网站?  PHP正则匹配日期和时间(时间戳转换)的实例代码  如何快速完成中国万网建站详细流程?  如何快速重置建站主机并恢复默认配置? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。