Android自定義控件(一)自繪控件

因爲公司項目的需求,須要繪製一條豎直的間斷線做爲分割線。這個可坑了爹了,之前只搞過水平的間斷線,只要經過shape也能夠簡單的畫出來,可是千萬記得把hardwareAccelerated給關了,否則水平的虛線仍是會是實線,這個之前也是我趟過的一個坑。那咋辦呢,找不到原生的解決方案,不就是一條簡單的間斷線嘛,還能難住我等程序猿?這個時候,首先聯想到的就是自繪控件了。
微信

自繪控件,顧名思義就是控件所展現的內容都是咱們本身繪製上去的。全部的繪製操做就是在onDraw()方法裏面進行的,固然咱們的這個自定義控件都是View的直接子類。好比最常使用的TextView、ImageView就是View的直接子類,也可視做自繪控件,全部的繪圖操做也都是在本身的onDraw()中,有興趣的同窗繪圖能夠去讀讀這些基本控件的源碼。今天第一講,咱們也動手實現咱們本身的控件。佈局

直接上代碼,比較簡潔。
spa

第一步,在attrs.xml中定義控件的屬性.net

定義line_color這個屬性主要就是爲了控件兼容着想,能夠隨意定製化間斷線的顏色。orm


第二步、定義DashLine的成員變量xml


第三步、在構造方法中初始化變量ci


第四步、繪圖get



第五步、佈局使用源碼

代碼比較簡潔,也有註釋,就很少說了。看下成果it

若是以爲對你有所幫助,歡迎你們訂閱個人微信公衆帳號——Android乾貨分享。下面是微信的二維碼,爲你提供及時高質的Android乾貨。

相關文章
相關標籤/搜索