1. 程式人生 > >【SystemUI】修改下拉狀態列顏色

【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為不透明
修改結果對比如圖
這裡寫圖片描述

相關推薦

SystemUI修改狀態顏色

需要改變下拉狀態列的背景色。 關於這方面的程式碼路徑 frameworks/base/packages/SystemUI中 通過androidSDK自帶的工具uiautomatorviewer 可以獲得控制元件的id 頂部狀態列的id 為header

android 狀態(SystemUI)常見修改記錄

摘要:下拉狀態列:1.下拉狀態列的亮度條:frameworks/base/packages/SystemUI/src/com/android/systemui/qs/QSPanel.javamBrightnessView對應佈局檔案:quick_settings_brightness_dial

Android 8.0 SystemUI狀態快捷開關

基於工作需要,基本是在Android源生程式碼上進行開發,從android 5.0到現在8.0,這兩年碰到各種問題發現關於Android源生髮開方面的特別少。於是想著開始把遇到的、解決的問題寫下來,或許對讀者會有幫助。一、SystemUI下拉開關佈局:android 8.0有

android 滑動鎖屏狀態如何禁止狀態

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Layui獲取框的值

author:咔咔 wechat:fangkangfk   html: js:select裡邊的值是下拉框的lay-filter的value值   layui.use(['laypage', 'layer','form'], function(

安卓手機狀態的程式碼實現

1. 對於高版本的sdk, (16以上) 1 //高版本的通知欄,最低要求sdk版本為16 2 NotificationManager nm = (NotificationMana

android M N狀態背景透明 原始碼

原生程式碼下拉狀態列會是一個黑色半透明的背景。並且當qs_quicksettings_header回縮時會回撥alpha值改變透明度。所以只需要阻止透明度改變即可。 程式碼位置。android/systemui/statusbar/phone/ScrimController

MVVM- AngularJS 框操作

AngularJS 下拉框基礎應用 外觀介面 <div ng-app=&qu

nativescript修改android的狀態顏色

if (app.android && Platform.device.sdkVersion >= '21') { let window = app.android.startActivity.getWindow(); window.setStatusBarCo

iOS導航欄隱藏的情況設定狀態顏色

背景介紹: 有的專案要求在tabbat管理的控制器內,有個介面是H5介面,一般H5介面有自己的導航欄,所以在切換到當前H5介面的時候,需要隱藏native(iOS端)的導航欄。 導航欄隱藏方式: - (void)viewDidLoad { [super viewDi

Linux從TCP狀態機,三次握手判斷DDOS攻擊

pla rep img 實體 -s lar 連接狀態 sdn 類型 從TCP狀態機判斷DDOS攻擊 一、TCP協議 TCP 協議是傳送層的核心協議,提供了可靠面向連接的協議,分為三次握手和四次斷開,在這個過程中TCP有個狀態機,記錄不同階段的狀態。 二、 TCP握手和斷開

jq修改iframe的頁面的樣式

 <iframe id="iframe" src="./footer.jsp" frameborder="0" scrolling="no" height="145px" width="100%" noresize="noresize"></iframe> 1.

Error修改google chrome位址預設搜尋引擎為www.google.com(非www.google.com.hk)

有一段時間,google chrome 位址列預設搜尋引擎變成google.com.hk了。修改回來的辦法: 步驟一:確認位址列的google.baseURL配置正確 步驟二:       關閉所有chrome視窗,修改~/Library/Appl

Bug修復toolbar頂端與狀態有間隙

寫一個自定義ToolBar時候出現了一個坑,記錄一下~ 先看程式碼: import android.content.Context; import android.support.annotation.Nullable; import android.s

iOS自定義狀態顏色顏色(ios 9 ,swift 3)

ios狀態背景顏色是跟ViewController的底色保持一致的(view的範圍包括狀態列) self.view.backgroundColor = .red 2. 狀態列的前景是通過重寫 var preferredStatusBarStyle: UIStat

札記Linux MySQL-5.7.17 tar.gz 包方式安裝部署後出現密碼過期的問題解決(不修改/etc/my.cnf檔案)

【問題描述】 在Oracle linux 6.8上安裝完成MySQL-5.7.17(使用版本為:mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz)後: [[email protected] ~]# mysql --version mysql  Ver 14.14 D

仿咪咕動漫列表重新整理上載入

一、概述 本篇續 廈門之旅 的第二篇。這期間找工作真的心態幾多變化,剛開始興致高昂,信心滿滿,面試了幾家不錯的公司,結果都是因為工資問題不了了之。後面的連面試機會都沒有了,每天在狹小的租房裡面吃了睡,睡了玩,陌生的環境消磨這我的意志。我很討厭消沉的自我,這邊招

前端dropload 上載入,重新整理(不推薦使用)

dropload 上拉載入,下拉重新整理 dropload 指令碼 2018-4-18 測試:不能正常執行 蘋果6版本是8.3(12f70) 低版本安卓 5.1 得 瀏覽器不支援,微信最

技巧修改windows10在高分屏的應用的dpi

我使用的是surface pro3,擁有2K的解析度。 同時,我很熱衷新事物所以,我使用了windows10 的最新版,並且啟用了高dpi設定(150左右)。 之後就發現一些老軟體如photoshop、Articulate Storyline、百度網盤等應用由於沒有為高DPI優化,所以開啟後看到UI介面中的

Ubuntu安裝VNC server & VNC修改VNC解析度大小

儘管我們在大部分情況下用ssh登入Ubuntu伺服器就好了,但是有時候我們的程式需要在圖形介面下執行,這時我們就要用到vnc server這個軟體了。在Ubuntu下安裝vnc server很簡單的,只要下面幾步就可以了: 第一步,獲取安裝檔案 sudo apt-get install vnc4serv