Android开发系列之创建自定义控件
? ? ? Android開發過程中我們經常需要定義自己的控件,一方面基于復用的角度考慮,一方面也是基于邏輯處理思維的角度考慮。在這篇博客里面,筆者想要介紹、總結幾種Android自定義控件的方法,如果有什么不對的地方歡迎拍磚。
? ? ? 對現有控件進行擴展,采用這種方法通常來說我們需要定制化較小,比如我們僅需要某個按鈕固定是某種顏色,我們僅需要某個TextView顯示某種動畫等。這種方法我們需要重寫如下幾個方法:onMeasure(),onLayout,onDraw(),onTouchEvent()。onMeasure()方法用于整個頁面的測繪,onLayout()方法用于整個頁面的布局,onDraw()用于整個頁面的繪制,onTouchEvent()用于整個控件的觸控事件的監測。
? ? ? 創建組合控件,這種方法我們通常需要定制某個組件,通過組合多個控件,然后暴露響應的屬性和回調方法實現自己需要的業務需求。1.將需要定制的控件屬性定義到xml里面;2.讀取xml里面的屬性,將其賦值到創建出來的控件對應屬性上面;3.將創建的控件add到一個ViewGroup上面;4.定義回調接口,在控件觸發事件的時候,執行響應的回調方法就可以了;
? ? ? 重寫View實現新的控件,這種方法我們通常用來創建一些比較古怪的圖形控件,比如餅形圖、柱形圖等。大體的做法是:1.定義一個paint畫筆;2.定義一個你需要繪制的圖形對象,比如矩形、圓形;3.如果需要組合其他的圖形,可以接著繪制;
? ? ? 自定義ViewGroup,這種方式其實跟組合控件差不多,同樣需要重寫上面幾個方法來實現你自己的業務需求。
? ? ? 好了,這篇博客就到這里,雖然短小但是涵蓋的內容挺多的,see you!
轉載于:https://www.cnblogs.com/xiaocai20091687/p/xiaocai_android_new_5.html
總結
以上是生活随笔為你收集整理的Android开发系列之创建自定义控件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HihoCoder 1323 回文字符串
- 下一篇: 错误提示:'……' is not ass