全网整合营销服务商

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

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

Android 自定义状态栏实例代码

一、目标:Android5.0以上

二、步骤

1、在res-values-colors.xml下新建一个RGB颜色

  <?xml version="1.0" encoding="utf-8"?> 
  <resources> 
    <color name="colorPrimary">#3F51B5</color> 
    <color name="colorPrimaryDark">#303F9F</color> 
    <color name="colorAccent">#FF4081</color> 
    <color name="theRed">#ff6a69</color> 
  </resources> 

2、新建一个布局,名为actionbarlayout.xml,在后边重写布局时用于添加

<?xml version="1.0" encoding="utf-8"?> 
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
    <TextView 
      android:id="@+id/actionBarId" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      /> 
  </LinearLayout> 

3、重写LineaLayout布局,放置步骤二新建的布局在顶部,用作背景颜色的容器

  public class ActionBarLayOut extends LinearLayout { 
    public ActionBarLayOut(Context context, AttributeSet attrs){ 
      super(context,attrs); 
      LayoutInflater.from(context).inflate(R.layout.actionbarlayout,this); 
    } 
  }

3、在主布局里调用这个重写后的线性布局

<?xml version="1.0" encoding="utf-8"?> 
  <com.example.test.ActionBarLayOut xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context="com.example.test.MainActivity"> 
    <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@color/theRed" 
      android:text="Hello World!" /> 
  </com.example.test.ActionBarLayOut> 

 4、在main活动中进行相应设置

public class MainActivity extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      TextView textView = (TextView)findViewById(R.id.actionBarId); 
      int color = getResources().getColor(R.color.theRed); 
      setActionBarColor(textView,color); 
    } 
    protected void setActionBarColor(TextView textView, int ActionBarColor){ 
      //----------------------------------隐藏标题栏---------------------------------------------- 
      if (getSupportActionBar()!=null) { 
        getSupportActionBar().hide(); 
      } 
      //------------------------------------------------------------------------------------------ 
      //----------------------------------将状态栏设置为透明-------------------------------------- 
      if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
        Window window = getWindow(); 
        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS 
            | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); 
        window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
            | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); 
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
        window.setStatusBarColor(Color.TRANSPARENT); 
        window.setNavigationBarColor(Color.TRANSPARENT); 
      } 
      //------------------------------------------------------------------------------------------ 
      /** 
       * 首先获取状态栏的高度statusBarHeight1,然后在状态栏的位置放一个空的TextView, 
       * 高度设置为statusBarHeight1,然后将TextView的背景颜色进行设置,这样就可以变相 
       * 的给状态栏设置颜色 
       */ 
      int statusBarHeight1 = -1; 
      //获取status_bar_height资源的ID 
      int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); 
      if (resourceId > 0) { 
        //根据资源ID获取响应的尺寸值 
        statusBarHeight1 = getResources().getDimensionPixelSize(resourceId); 
      } 
      textView.setHeight(statusBarHeight1); 
      textView.setBackgroundColor(ActionBarColor); 
    } 
  } 

以上所述是小编给大家介绍的Android 自定义状态栏实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# android  # 自定义状态栏  # Android动态控制状态栏显示和隐藏  # Android设置透明状态栏和透明导航栏  # Android 状态栏虚拟导航键透明效果的实现方法  # Android透明化和沉浸式状态栏实践及源码分析  # Android实现个人资料页面头像背景模糊显示包(状态栏)  # Android沉浸式状态栏实现示例  # Android中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法)  # Android之沉浸式状态栏的实现方法、状态栏透明  # Android 动态显示和隐藏状态栏详解及实例  # 状态栏  # 重写  # 设置为  # 小编  # 新建一个  # 在此  # 给大家  # 自定义  # 所述  # 给我留言  # 时用  # 感谢大家  # 就可以  # 标题栏  # 疑问请  # 有任何  # 活动中  # apk  # schemas  # orientation 


相关文章: 如何通过VPS建站实现广告与增值服务盈利?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  装修招标网站设计制作流程,装修招标流程?  如何快速搭建个人网站并优化SEO?  javascript基本数据类型及类型检测常用方法小结  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  制作企业网站建设方案,怎样建设一个公司网站?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  大学网站设计制作软件有哪些,如何将网站制作成自己app?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  如何用虚拟主机快速搭建网站?详细步骤解析  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  如何在IIS中新建站点并配置端口与IP地址?    如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  建站之星下载版如何获取与安装?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  如何在万网ECS上快速搭建专属网站?  寿县云建站:智能SEO优化与多行业模板快速上线指南  网站好制作吗知乎,网站开发好学吗?有什么技巧?  如何在Golang中指定模块版本_使用go.mod控制版本号  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  建站之星与建站宝盒如何选择最佳方案?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  长沙做网站要多少钱,长沙国安网络怎么样?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  微信推文制作网站有哪些,怎么做微信推文,急?  定制建站价位费用解析与套餐推荐全攻略  再谈Python中的字符串与字符编码(推荐)  网站专业制作公司有哪些,做一个公司网站要多少钱?  *服务器网站为何频现安全漏洞?  建站主机如何选?性能与价格怎样平衡?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在阿里云香港服务器快速搭建网站?  免费网站制作appp,免费制作app哪个平台好?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  建站主机与服务器功能差异如何区分?  大型企业网站制作流程,做网站需要注册公司吗?  做企业网站制作流程,企业网站制作基本流程有哪些?  建站之星代理商如何保障技术支持与售后服务?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  ,石家庄四十八中学官网?  宝塔建站后网页无法访问如何解决?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  如何快速搭建二级域名独立网站?  如何在Windows虚拟主机上快速搭建网站?  如何在Golang中使用replace替换模块_指定本地或远程路径 

您的项目需求

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