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