Android自定義控制項(三)繼承控制項

2021-06-22 18:05:02 字數 1714 閱讀 9741

繼承控制項是我們android開發中最重要也是最常使用的控制項,它不同於自繪控制項和組合控制項,它不需要我們自己去重新去實現乙個控制項。物件導向的乙個重要特性就是繼承,相信各位同學對繼承的了解都已經非常深入了,繼承控制項理所當然會擁有父類的所有特性。我們去實現乙個繼承控制項的原因,往往是原生控制項已經滿足不了我們的業務需求,需要我們自己去對原生控制項進行定製化的功能擴充套件。

當然,繼承控制項的實現目的多種多樣,下面舉幾個常見的例子。比如實現仿ios平台的具有回彈特性的scrollview,比如實現巢狀在scrollview中的listview,再比如有這麼乙個需求,顯示使用者的圓形頭像等等。考慮到今天這一講的內容的複雜性,同時為了能更詳盡的理解繼承控制項的思想,我已經提前寫了乙個比較通用的網路載入的類庫來幫助大家理解。大家可以在文章的最後看到github的**鏈結,歡迎fork。下面先簡單介紹下這個控制項。

smartimageview是imageview的直接子類,擁有imageview的所有特性,同時擴充套件了載入網路的方法。通過smartimageview可以實現以下的功能。自定義屬性方便的設定載入中、載入失敗的;載入成功後,可以把快取到記憶體和本地,避免下次再次訪問網路,加快了速度;啟用執行緒池去載入網路,避免開啟過多的執行緒;使用softreference去快取,防止記憶體溢位;最後就是具體的載入實現都是基於介面的,方便使用者的擴充套件。好了,老王賣瓜也賣完了,言歸正傳。簡單介紹下實現的思路和用法。

一、smartimage以及實現類webimage,貼出關鍵**

二、設定自定義屬性

三、宣告smartimageview的成員變數

四、初始化自定義屬性

五、定義並實現網路載入功能,貼出關鍵**

六、布局使用

七、**使用

寫在最後,**精簡了再精簡,但還是蠻多的,只能貼出關鍵**,但是大體的實現思路已經體現出來了。所有的**我都放在了github上了,歡迎pull request。

android 自定義控制項繼承TextView

在原生控制項上進行擴充套件,增加新的功能 一般是在ondraw 方法中對原生控制項進行擴充套件 下面以乙個textview 為例,來看看如何使用擴充套件原生控制項的方法建立新的控制項 對現有控制項進行擴充套件 public class m textview extends textview publ...

Android 自定義控制項

幹android也有一段的時間了,自定義這塊的東西覺得還是很有比較複習一下基礎的東西。自定義控制項和自定義元件基本上的使用都是在專案中基本的android控制項滿足不了需求的時候使用的。所以,如果要高出特別炫的特效,或者比較特殊的控制項排列方式,例如瀑布流,那麼就要好好學學自定義咯。首先,先簡單的介...

android自定義控制項

android自定義控制項 二 入門,繼承view 說說android 兩種為自定義元件新增屬性的使用方法和區別 自定義控制項的屬性 自定義控制項 今天花了3,4個小時看了自定義控制項,看 懂了,還沒有實踐,因為時間不夠,日後實踐。總結下 自定義控制項有3種方式 繼承已有控制項 繼承乙個容器控制項,...