适用于版本大于等于19以上。
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Build;
import android.view.View;
import android.view.ViewGroup;
/**
* Created by zhy on 15/9/21.
*/
public class StatusBarCompat
{
private static final int INVALID_VAL = -1;
private static final int COLOR_DEFAULT = Color.parseColor("#20000000");
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public static void compat(Activity activity, int statusColor)
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
{
if (statusColor != INVALID_VAL)
{
activity.getWindow().setStatusBarColor(statusColor);
}
return;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP)
{
int color = COLOR_DEFAULT;
ViewGroup contentView = (ViewGroup) activity.findViewById(android.R.id.content);
if (statusColor != INVALID_VAL)
{
color = statusColor;
}
View statusBarView = new View(activity);
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
getStatusBarHeight(activity));
statusBarView.setBackgroundColor(color);
contentView.addView(statusBarView, lp);
}
}
public static void compat(Activity activity)
{
compat(activity, INVALID_VAL);
}
public static int getStatusBarHeight(Context context)
{
int result = 0;
int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0)
{
result = context.getResources().getDimensionPixelSize(resourceId);
}
return result;
}
}
用法:
Activiy onCreate中添加:
StatusBarCompat.compat(this);
如果需要制定状态栏颜色,使用此方法:
StatusBarCompat.compat(this, 0xFFFF0000);
https://github.com/hongyangAndroid/ColorfulStatusBar
http://www.open-open.com/lib/view/open1460378891143.html
为Android4.4以上系统的状态栏和导航栏填充颜色
https://github.com/jgilfelt/SystemBarTint
分享到:
相关推荐
实现4.4以后的状态栏与app的导航栏颜色相同,android沉浸式状态栏、变色状态栏、透明状态栏、修改状态栏颜色及透明。
看IOS上的应用,应用中状态栏的颜色总能与应用标题栏颜色保持一致,用户体验很不错,对于这种效果怎么实现的呢?下面小编给大家分享android自定义状态栏颜色与应用标题栏颜色一致的实现方法,一起看看吧
Unity显示Android手机状态栏 这是一个Unity开发安卓手机软件,显示状态栏要。可以设置为透明状态栏,或安卓系统黑底状态栏。
uni-app nvue沉浸式状态栏(线性渐变色).vue
Android APP开发入门:使用Android Studio环境 配套范例程序,由于上传文件不能超过220M,此处只有1-6章的范例程序,其他的我会分开上传
Learn Android Studio 3 Efficient Android App Development 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
Android 沉浸式状态栏 一体化状态栏 信号栏
把系统状态栏集成到app当中,使得界面美观大方。 有这方面需求的朋友可以下载试试,具体情况可进博客一观。 博客地址:http://blog.csdn.net/aiyuan0204 注:这是android4.4新特性,只支持4.4以上版本
压缩包中未编译好的变色龙Android APP可以直接手机安装,通过OTG连接手机
把系统状态栏集成到app当中,使得界面美观大方。 有这方面需求的朋友可以下载试试,具体情况可进博客一观。 博客地址:http://blog.csdn.net/aiyuan0204 注:这是android4.4新特性,只支持4.4以上版本
Android使用fitsSystemWindows属性实现--状态栏【status_bar】各版本适配方案 详情介绍:http://blog.csdn.net/ys408973279/article/details/49994407 Android使用fitsSystemWindows属性实现--状态栏【status_bar】各...
状态栏一体化,包括随着滑动渐变,透明状态栏,黑色字体的状态栏,兼容国产魅族、小米手机,其它手机使用标准模式。
目录编译问题效果图功能介绍DownloadManagerUpdateConfiguration使用步骤Demo下载体验版本更新记录结语编译问题因为适配了Android O的通知栏,所以依赖的v7包版本比较高appcompat-v7:26.1.0使用的gradle版本为gradle...
Android APP开发入门:使用Android Studio环境 配套范例程序,由于上传文件不能超过220M,此处只有7-12章的范例程序,其他的我会分开上传
主要介绍了android实现状态栏添加图标的函数,较为详细的分析了Android状态栏添加及删除图标的具体实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
此类资源描述app状态栏提醒更新,主要是检查服务器版本信息,对比于本地,提醒用户更新
使用Unity 5.3.4在Android2.0 系统下显示状态栏与虚拟按键,支持沉浸式透明效果。对于高版本 unity 与高版本 android 我没有测试,请自行升级修改.
dlib-android-app See http://dlib.net for the main project documentation. See dlib-android for JNI lib. Refer to dlib-android/jni/jnilib_ex Grap the source $ git clone ...
isInstallApp : 判断App是否安装 installApp : 安装App(支持6.0) installAppSilent : 静默安装App uninstallApp : 卸载App uninstallAppSilent : 静默卸载App isAppRoot : 判断App是否有root权限 launchApp : 打开...
Android Studio开发实战:从零基础到App上线