zoukankan      html  css  js  c++  java
  • android 实现透明状态栏

    主要使用https://github.com/jgilfelt/SystemBarTint这个开源库

    1 ,导入SystemBarTintManager类

    2 ,BaseFragmentActivity的onCreate添加如下代码:

    // 修改状态栏颜色,4.4+生效
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                setTranslucentStatus();
            }
            SystemBarTintManager tintManager = new SystemBarTintManager(this);
            tintManager.setStatusBarTintEnabled(true);
            tintManager.setStatusBarTintResource(R.color.status_bar_bg);//通知栏所需颜色,颜色内容在colors.xml文件里面定义
    @TargetApi(19)
        protected void setTranslucentStatus() {
            Window window = getWindow();
            // Translucent status bar
            window.setFlags(
                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            // Translucent navigation bar
            window.setFlags(
                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,
                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
        }

    3 ,特别注意如下代码,否则显示布局会出现问题:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#f1f1f1"
        android:clipToPadding="true"
        android:fitsSystemWindows="true" >

     更多使用方法可以参考:http://www.jcodecraeer.com/a/opensource/2014/1222/2198.html

  • 相关阅读:
    zookeeper
    消息中间件介绍
    Java实现动态代理的两种方式
    深入理解Java内存模型
    消息中间件(一)MQ详解及四大MQ比较
    synchronized关键字详解及分析锁升级过程
    JDK1.6的Synchronized底层优化(偏向锁、轻量级锁)
    分布式通信-tcp/ip socket
    技术点
    大众点评 cat
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/4835550.html
Copyright © 2011-2022 走看看