【SystemUI】修改下拉状态栏颜色

需要改变下拉状态栏的背景色。

关于这方面的代码路径 frameworks/base/packages/SystemUI中

通过androidSDK自带的工具uiautomatorviewer 可以获得控件的id

顶部状态栏的id 为header

在frameworks/base/packages/SystemUI 中寻找id为header的控件

在res/layout文件夹下的status_bar_expanded_header.xml文件中有定义

自定义的继承于RelativeLayout的控件,background为drawable文件夹下的

notification_header_bg,该文件实现的是水波纹的效果,根节点为ripple

Color为长按时水波纹的颜色

Item中的system_secondary_color是单独的颜色,

颜色与原本颜色相符,因此修改system_second_color的颜色即可改变顶部状态栏的颜色,且当ripple下没有子节点时,会变成透明,而点击长按时会出现color中定义的颜色

将需要定义的颜色进行修改

顶部颜色进行了修改

下方的快速设置区域

Id为 quick_settings_container

在res/layout/qs_panel.xml文件中有定义

这里讲QSPanel的颜色设为了全透明,因此显示的就是QSContainer的背景颜色

查看qs_background_primary

Inset为嵌入图像资源 insetTop为图像与上方的距离

Shape中定义了颜色与四个角的度数

对system_primary_color 进行修改

E5代表透明度 通过十六进制计算得出90%的透明度的值,ff为不透明

修改结果对比如图

时间: 2024-08-03 01:55:42

【SystemUI】修改下拉状态栏颜色的相关文章

SupportV7包中 SwipeRefreshLayout 修改下拉控件的距离

1 //修改下拉距离 2 ViewTreeObserver vto = mCategoryResults.mSwipeRefreshLayout.getViewTreeObserver(); 3 vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { 4 public void onGlobalLayout() { 5 6 final DisplayMetrics metrics = getRes

Android6.0状态栏(系统下拉状态栏的定制)

■目标 不允许用户从上到下下拉状态栏 ■案1 截获手势,不处理该手势. SystemGesturesPointerEventListener public void onPointerEvent(MotionEvent event) { if (swipe == SWIPE_FROM_TOP) { 不调用手势处理} ■案1效果 无效果. adb log发现代码确实走到了,说明这里只是一个通知机制. ■案2 在状态栏上进行中断手势或者touch命令 StatusBarWindowView的onIn

Easyui Datagrid 的Combobox 如何动态修改下拉选项,以及值的转换

我是先将下拉选项的值通过datagrid的url查出来了,在每一行的row中 //项目结果选项卡的列表 $('#project_table').datagrid({ width : '100%', height: '378', url : 'getSeparationProjectInf', //title : '待分发条码列表', striped : true, nowrap : true, rownumbers : true, singleSelect : false, showHeader

PullToRefreshScrollView 修改下拉刷新图标

我的修改比较简单暴力.网上查了一番,貌似大家都没有改,无奈,查了一下源码.发现如下资源目录: 在看看我们的布局文件,此三个图片就是下拉刷新的三种图标 好吧,flip就是我目前的下拉刷新图片,对应的也就是default_ptr_flip.png 现在要改成default_ptr_rotate.png. 废话不说了.直接改代码,试试就知道 <com.handmark.pulltorefresh.library.PullToRefreshScrollView xmlns:ptr="http://

android 滑动锁屏状态下如何禁止下拉状态栏

滑动锁屏状态下状态栏可以下拉是google 4.0 默认的设计.如果要禁止此功能,请修改KeyguardViewMediator.java的adjustStatusBarLocked()方法,将  if (isSecure() || !ENABLE_INSECURE_STATUS_BAR_EXPAND) { // showing secure lockscreen; disable expanding. flags |= StatusBarManager.DISABLE_EXPAND; } 修改

安卓手机下拉状态栏的代码实现

1. 对于高版本的sdk, (16以上) 1 //高版本的通知栏,最低要求sdk版本为16 2 NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 3 4 //链式编程,每次返回的都是一个builder对象 5 Notification notification = new Notification.Builder(this) 6 .setContentTitle("标题&q

mui 修改下拉刷新提示文字的显示位置

第一种: .mui-bar-nav~.mui-content .mui-pull-top-pocket { top: 126px !important; } 第二种: .mui-pull-top-pocket { top: 126px !important; } 实测两种方式都可以解决问题. 原文地址:https://www.cnblogs.com/muou2125/p/10740433.html

KK上全屏界面如何实现禁止状态栏下拉?

[SOLUTION] Google从KK开始增加了状态栏透明以及全屏 界面有通知可以下拉状态栏的设计,而这个设计出现的隐患是设置了FULL_SCREEN的界面是无法禁止状态栏下拉的,这样对一些工程测试app可能会造 成一定的影响,但是以google默认的设计,应用端无法修改此设计来满足自己的需求. MTK 内部已经开发提供新的接口来实现全屏界面禁止下拉状态栏,如果贵司的代码还没有这部分逻辑,请参考如下: 1. frameworks\base\core\java\android\view\View

android4.4上全屏界面实现禁止状态栏下拉

附上我改动的方法:PhoneWindowManager.java里面的改动 --- a/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -2863,7 +2863,9 @@ public cla