网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

(五)在android4.4上设置手机状态栏的背景-创新互联

一、demo效果图

创新互联专注于永吉网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供永吉营销型网站建设,永吉网站制作、永吉网页设计、永吉网站官网定制、小程序设计服务,打造永吉网络公司原创品牌,更为您提供永吉网站排名全网营销落地服务。

在android 4.4上 有一个新的特性可以设置手机状态栏的背景,让手机整个界面的风格保持一致,在今年的google i/o上的android l默认就是这种风格。来先看一下demo效果图:

                   

      图一:透明状态栏                                                        图2:蓝色背景状态栏

二、整个DEMO的工程结构图如下所示:

三、主要的实现代码如下所示:

首先,要记得导入systembartint-1.0.4.jar包

 3.1 MainActivity.java中的代码如下所示:

package com.example.testdemo;

import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;

import com.readystatesoftware.systembartint.SystemBarTintManager;

public class MainActivity extends Activity {
private boolean isBarTint = true;
private boolean isTranslucentBarTint = false;

public void setBarTint(boolean isBarTint) {
this.isBarTint = isBarTint;
    }

public void setTranslucentBarTint(boolean isTranslucentBarTint) {
this.isTranslucentBarTint = isTranslucentBarTint;
    }

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
if (isBarTint) {
            initSystemBar();
        }else if (isTranslucentBarTint) {
            initTranslucentSystemBar();
        }
    }
    @TargetApi(Build.VERSION_CODES.KITKAT)
private void initSystemBar() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            setTranslucentStatus(true);
            SystemBarTintManager tintManager= new SystemBarTintManager(this);
// 激活状态栏设置            tintManager.setStatusBarTintEnabled(true);
// 激活导航栏设置            tintManager.setNavigationBarTintEnabled(false);

int sbg = getResources().getColor(R.color.titlebar_rl_background);
            tintManager.setTintColor(sbg);
            tintManager.setStatusBarTintColor(sbg);

        }
    }

    @TargetApi(Build.VERSION_CODES.KITKAT)
private void initTranslucentSystemBar() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            setTranslucentStatus(true);
            SystemBarTintManager tintManager= new SystemBarTintManager(this);
// 激活状态栏设置            tintManager.setStatusBarTintEnabled(true);
// 激活导航栏设置            tintManager.setNavigationBarTintEnabled(false);

int sbg = getResources().getColor(R.color.viewfinder_title);
            tintManager.setTintColor(sbg);
            tintManager.setStatusBarTintColor(sbg);
        }
    }

    

    @TargetApi(Build.VERSION_CODES.KITKAT)
private void setTranslucentStatus(boolean isOpen) {
        Window win= getWindow();
        WindowManager.LayoutParams winParams= win.getAttributes();
final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
if (isOpen) {
            winParams.flags|= bits;
        }else {
            winParams.flags&= ~bits;
        }
        win.setAttributes(winParams);
    }

    @TargetApi(Build.VERSION_CODES.KITKAT)
private void setTranslucentNavigation(boolean isOpen) {
        Window win= getWindow();
        WindowManager.LayoutParams winParams= win.getAttributes();
final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION;
if (isOpen) {
            winParams.flags|= bits;
        }else {
            winParams.flags&= ~bits;
        }
        win.setAttributes(winParams);
    }
}

 3.2 colors.xml的颜色值如下所示:

  #33b5e6  #80000000

 3.3 styles.xml中的代码如下所示:

     true   true  

 3.4 AndroidManifest.xml  中application或对应的activity设置主题 android:theme="@style/AppTheme"


网页名称:(五)在android4.4上设置手机状态栏的背景-创新互联
文章地址:http://bjjierui.cn/article/dsdejd.html

其他资讯