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