Android工具之被忽略的UI檢視利器:Hierarchy Viewer

來源:互聯網
上載者:User

 

Hierarchy Viewer是隨AndroidSDK發布的工具,位置在tools檔案夾下,名為hierarchyviewer.bat。它是Android內建的非常有用而且使用簡單的工具,可以協助我們更好地檢視和設計使用者介面(UI),絕對是UI檢視的利器,但是好像很少有人提它,難道是因為太簡單?

具體來說主要功能有2個:

1.從可視化的角度直觀地獲得UI布局設計結構和各種屬性的資訊,協助我們最佳化布局設計;

2.結合debug協助觀察特定的UI對象進行invalidate和requestLayout操作的過程。

1.基本使用方法

(1)hierarchyviewer的使用非常簡單,啟動模擬器或者串連上真機後,啟動hierarchyviewer.bat,會看到下面的介面,Devices裡列出了可以觀察的裝置,Windows裡列出的是當前選中的裝置的可以用來顯示View結構的Window:

 

 

選中某個想要觀察的Window,比如上面列出的com.Android.launcher/com.android.launcher.Launcher項,然後點擊功能表列的Load View Hierarchy,就進入Layout View,由於要解析相關Window,所以這個過程要幾秒鐘,左邊列出的是當前視窗的樹型布局結構圖,右邊列出的是當前選中的某個子View的屬性資訊和在視窗中的位置:

 

 

需要注意的是:Layout View列出的View結構是從視圖的根節點開始的,比如針對Launcher使用的layout,它的底層基礎布局DragLayer實際上是放在一個FrameLayout裡的,該FrameLayout又是被PhoneWindow的DecorView管理的。

2)點擊介面左下角類似九宮格的按鈕,就進入了Android稱之為Pixel Perfect View的介面,這個介面裡主要是從細節上觀察UI效果:

 

 

 

左邊是瀏覽視圖,中間是全域的視圖,右邊是當前關注的地方的細節放大,是像素層級的,對於觀察細節非常有用。

Refresh Rate用來控制View多久從模擬器或者真機上更新一次視圖資料。

Zoom就是放大局部細節用的,細節顯示在最右邊的視圖上。

Overlay比較有意思,主要用來測試在當前視圖上載入新的圖片後的效果,點擊Load…選擇圖片後,可以控制在當前介面上顯示的透明讀,滑動0%~100%的控制項即可。如果選擇了Show in Loupe,右側的放大視圖也會將載入的圖片的細節結合著透明度顯示出來。不過目前這個Overlay做的比較簡單,合成的圖只能從介面的左下角為原點畫出來,不能移動。

(3)在Layout View中,選中一個view的圖示,點擊工具列的Display View,就可以看到這個view的實際顯示效果,可以點選Show Extras,這個功能也比較實用,可以顯示出該View中不同元素顯示的邊界,協助我們檢查是否正確。

 

 

2.Hierarchyviewer的invalidate和requestLayout功能

對於Android的UI來說,invalidate和requestLayout是最重要的過程,Hierarchyviewer提供了協助我們Debug特定的UI執行invalidate和requestLayout過程的途徑,方法很簡單,只要選擇希望執行這兩種操作的View點擊按鈕就可以。當然,我們需要在例如onMeasure()這樣的方法中打上斷點。這個功能對於UI組件是自訂的非常有用,可以協助單獨觀察相關介面顯示邏輯是否正確

本篇文章來源於 Linux公社網站(www.linuxidc.com)  原文連結:http://www.linuxidc.com/Linux/2010-08/27923p2.htm

 

本篇文章來源於 Linux公社網站(www.linuxidc.com)  原文連結:http://www.linuxidc.com/Linux/2010-08/27923.htm

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.