<p>是的,我在完成了漢化後的確學到了不少新東西。您感受怎麼樣呢,如今開始就是本人編寫的內容了,但願不會把你帶溝裏了 ~~~</p> <p>好了,你們看了安卓官方提供的 Creating Custom Views 的漢化版本以後,是否是已經等不急要建立一個「Hello World」了呢,固然您的想法可能比「Hello World」要高不少,無論如何,讓咱們經過下面這個圖示來了解一下開發一個安卓控件的路線圖:</p> <p><a href="http://static.oschina.net/uploads/img/201303/27193816_GdUl.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Android-控件開發路線圖" border="0" alt="Android-控件開發路線圖" src="http://static.oschina.net/uploads/img/201303/27193817_Nx6w.png" width="654" height="361" /></a></p> <p>如上圖是一個最簡單的路線圖:</p> <ol> <li>一個 Android 視圖老是直接或間接的 View 子類。</li> <li>實現兩個參數的構造函數能在 xml 佈局設計器中方便的放置你的視圖,若是須要提供一些屬性,能夠經過一個屬性化文件來定製。</li> <li>在視圖尺寸改變時你須要爲未來的繪製準備特定與新的尺寸的相關座標,路徑等沒有必要在每次繪製都從新計算和處理的任務。</li> <li>大多數時候須要重載 onDraw 來實現你的視圖特定的繪製代碼。它會在視圖無效時被調用。</li> <li>對於有着特別行爲的控件,重載 onTouchEvent 獲得用戶的點觸行爲。若是您的控件不作特別的交互,不是必定要重載這個方法。</li> </ol> <p>注意:這只是個作爲你入門來講簡化過的路線圖,對於完成不一樣功能的視圖,它們可能更簡單或更復雜。</p> <p>補充:</p> <ul> <li>若是您的控件行爲很複雜,可能在運行時很正常而在 XML 佈局設計器中出現錯誤信息。這通常是因爲訪問一些在設計時不可用的資源(如 sqlite 數據庫),若是你但願設計時更友好,應該使用 View 類提供的 isInEditMode() 來測試並跳過相關的代碼,更好的是提供基於「假」數據的控件效果預覽。</li> <li>若是您的控件不須要進行復雜的用戶交互,只是單擊這類的操做,重載 onTouchEvent 本身實現是多餘的,View 直接提供了這類基本事件。</li> <li>對於屬性定義 xml 文件,它不是必須的,若是您不須要設計界面上設置自定義屬性。命名爲 attr.xml 也不是必須的,它能夠是任何合法的文件名,還能夠將內容放在其它 resource 類型的 xml 文件中。</li> </ul> <p>看起來不太複雜不是嗎,下一章中咱們就開始真正一步步自制一個功能簡單但實用的視圖。</p>sql