statusbar 尺寸 显示图标_StatusBar 图标展示流程 - 状态栏(StatusBar)镜头布局分析...- git完代码后的异常_169IT.COM...
本頁文章導(dǎo)讀:
?StatusBar 圖標(biāo)展示流程 ??????StatusBar 圖標(biāo)顯示流程
StatusBar 圖標(biāo)顯示流程? (2010-11-05 15:23:29)轉(zhuǎn)載分類: Android學(xué)習(xí)公司前些天發(fā)現(xiàn)一個狀態(tài)欄顯示圖標(biāo)不正確的Bug,昨天也轉(zhuǎn)給我,看我能幫上什么忙,我對狀態(tài)欄完全沒有.........
? 狀態(tài)欄(StatusBar)鏡頭布局分析 ??????狀態(tài)欄(StatusBar)畫面布局分析
狀態(tài)欄(StatusBar)畫面布局分析
(2010-12-16 09:52:20)
轉(zhuǎn)載
標(biāo)簽:
狀態(tài)欄
進(jìn)行
截圖
文件夾
圖片類
it
分類:?Android學(xué)習(xí)
1、狀態(tài)欄的資源位置:?.........
? git完代碼后的異常??????git完代碼后的錯誤
在使用:$ repo init -u git://Android.git.kernel.org/platform/manifest.git$ repo sync下載完代碼后,進(jìn)行make,$cd ~/mydroid$make卻出現(xiàn)了如下錯誤:build/core/main.mk:73: You are attempting to build on a.........
[1]StatusBar 圖標(biāo)展示流程
來源:?互聯(lián)網(wǎng)? 發(fā)布時間:?2014-02-18
StatusBar 圖標(biāo)顯示流程
StatusBar 圖標(biāo)顯示流程? (2010-11-05 15:23:29)轉(zhuǎn)載
分類: Android學(xué)習(xí)
公司前些天發(fā)現(xiàn)一個狀態(tài)欄顯示圖標(biāo)不正確的Bug,昨天也轉(zhuǎn)給我,看我能幫上什么忙,我對狀態(tài)欄完全沒有接觸,正好趁這個機會,粗略看了下相關(guān)的代碼,記下來一些自己的理解。希望能對以后有些幫助。
由于同事的幫助,我不需要從頭開始找起,我對StatusBar Service的理解是從StatusBarPolicy開始的。
--StatusBarPolicy--
包含了所有在啟動時安裝在StatusBar上圖標(biāo)的策略??戳艘幌逻@個類的屬性值,基本我們顯示的圖標(biāo)信息都有定義,例如:時鐘,電池電量,手機信號,藍(lán)牙,Wifi,gps等。在類的內(nèi)部有一個變量 mIntentReceiver,它是BroadcastReceiver類型。它接受各種Intent信息,然后調(diào)用本類的update*函數(shù),對StatusBar的各種圖標(biāo)進(jìn)行更新。它是如何更新的呢?原來在它的屬性值中保存了StatusBarService 的引用mService!它對圖標(biāo)的更新都會轉(zhuǎn)化為StatusBarService 對updateIcon等方法的調(diào)用。
總體來說StatusBarPolicy保存了圖標(biāo)的引用,根據(jù)各種策略計算出現(xiàn)在應(yīng)該顯示的圖標(biāo),然后將圖標(biāo)的資源ID等信息進(jìn)行封裝后,傳遞給StatusBarService。
--StatusBarService--
在此服務(wù)中updateIcon 轉(zhuǎn)化為對addPendingOp調(diào)用,這里需要注意addPendingOp 參數(shù)code,這個參數(shù)給出了具體執(zhí)行的邏輯分支,并將我們的調(diào)用封裝為了PendingOp類型,然后加到mQueue隊列中,看到這里我立刻就想到去尋找Handler,果真在類中有一個成員變量H 為Handler類型; 現(xiàn)在在H 的handleMessage方法中尋找我們更新的code類型OP_UPDATE_ICON,在這種情況下會調(diào)用performAddUpdateIcon()。
在performAddUpdateIcon類中會區(qū)分兩種情況進(jìn)行處理,一種是notification,一種是icon,從我們剛才哪個路徑進(jìn)來的函數(shù)if (n != null) 判斷為false,不會走入,接著看icon分支。
StatusBarIcon icon = mIconMap.get(key); 這個的意義是看Icon是否已經(jīng)加在了StatusBar上了,如果icon ==null表明StatusBar沒有相應(yīng)圖標(biāo)需要增加,否則可能需要更新圖標(biāo)。具體將Icon增加到 StatusBar上的是這個語句: mStatusIcons.addView(icon.view, pos); Icon進(jìn)行更新的是icon.update(mContext, data);
[2] 狀態(tài)欄(StatusBar)鏡頭布局分析
來源:?互聯(lián)網(wǎng)? 發(fā)布時間:?2014-02-18
狀態(tài)欄(StatusBar)畫面布局分析
狀態(tài)欄(StatusBar)畫面布局分析
(2010-12-16 09:52:20)
轉(zhuǎn)載
標(biāo)簽:
狀態(tài)欄
進(jìn)行
截圖
文件夾
圖片類
it
分類:?Android學(xué)習(xí)
1、狀態(tài)欄的資源位置:
frameworks/base/packages/SystemUI/res/
其中:
layout文件夾中是布局xml文件。
drawable開頭的文件夾是各種圖片類資源。
2、狀態(tài)欄未展開時的布局結(jié)構(gòu)
這個圖主要分析了三種情況下的狀態(tài)欄布局
一般情況下的布局,對應(yīng)最上面的圖片。
狀態(tài)欄播放動畫時的布局,對應(yīng)中間的圖片。
手指在狀態(tài)欄上點擊時的布局,對應(yīng)最下面的圖片。
3)狀態(tài)欄展開時的布局
狀態(tài)欄有“正在進(jìn)行的”和“通知”時的布局
狀態(tài)欄沒有“正在進(jìn)行的”和“通知”時的布局
我們的截圖,是“正在進(jìn)行的”和“通知”時的布局,另外一個沒截圖是因為如果截圖的話,需要連上電腦,但一連接上電腦后就會有“正在進(jìn)行的”,所以無法截圖,但是這個界面比較簡單,就是將“正在進(jìn)行的”標(biāo)題,換成了“無通知”。
[3] git完代碼后的異常
來源:?互聯(lián)網(wǎng)? 發(fā)布時間:?2014-02-18
git完代碼后的錯誤
在使用:
$ repo init -u git://Android.git.kernel.org/platform/manifest.git
$ repo sync
下載完代碼后,進(jìn)行make,
$cd ~/mydroid
$make
卻出現(xiàn)了如下錯誤:
build/core/main.mk:73: You are attempting to build on a 32-bit system.
build/core/main.mk:74: Only 64-bit build environments are supported beyond froyo/2.2.
這是因為froyo/2.2默認(rèn)只支持64-bit,看到有些網(wǎng)友還要去下載64-比他的操作系統(tǒng),很是麻煩,于是通過不斷搜索資料終于解決,
解決辦法:
需要進(jìn)行如下修改即可,
將
./external/clearsilver/cgi/Android.mk
./external/clearsilver/java-jni/Android.mk
./external/clearsilver/util/Android.mk
./external/clearsilver/cs/Android.mk
四個文件中的
LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64
注釋掉,或者將“64”換成“32”
LOCAL_CFLAGS += -m32
LOCAL_LDFLAGS += -m32
然后,將
./build/core/main.mk 中的
ifneq (64,$(findstring 64,$(build_arch)))
改為:
ifneq (i686,$(findstring i686,$(build_arch)))
OK!問題解決
如果對你有幫助,請留言
總結(jié)
以上是生活随笔為你收集整理的statusbar 尺寸 显示图标_StatusBar 图标展示流程 - 状态栏(StatusBar)镜头布局分析...- git完代码后的异常_169IT.COM...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬网盘数据犯法吗_pytho
- 下一篇: es5如何实现promise_彻底理解P