Android 自繪控件
由于公司項(xiàng)目的需求,需要繪制一條豎直的間斷線作為分割線。這個(gè)可坑了爹了,以前只搞過水平的間斷線,只要通過shape也可以簡(jiǎn)單的畫出來,但是千萬(wàn)記得把hardwareAccelerated給關(guān)了,不然水平的虛線還是會(huì)是實(shí)線,這個(gè)以前也是我趟過的一個(gè)坑。那咋辦呢,找不到原生的解決方案,不就是一條簡(jiǎn)單的間斷線嘛,還能難住我等程序猿?這個(gè)時(shí)候,首先聯(lián)想到的就是自繪控件了。
自繪控件,顧名思義就是控件所展示的內(nèi)容都是我們自己繪制上去的。所有的繪制操作就是在onDraw()方法里面進(jìn)行的,當(dāng)然我們的這個(gè)自定義控件都是View的直接子類。比如最常使用的TextView、ImageView就是View的直接子類,也可視作自繪控件,所有的繪圖操作也都是在自己的onDraw()中,有興趣的同學(xué)繪圖可以去讀讀這些基本控件的源碼。今天第一講,我們也動(dòng)手實(shí)現(xiàn)我們自己的控件。
直接上代碼,比較簡(jiǎn)潔。
第一步,在attrs.xml中定義控件的屬性
定義line_color這個(gè)屬性主要就是為了控件兼容著想,可以隨意定制化間斷線的顏色。
第二步、定義DashLine的成員變量
第三步、在構(gòu)造方法中初始化變量
第四步、繪圖
第五步、布局使用
代碼比較簡(jiǎn)潔,也有注釋,就不多說了??聪鲁晒?br />
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
Android 動(dòng)畫實(shí)現(xiàn)幾種方案
這篇文章主要介紹了Android 動(dòng)畫實(shí)現(xiàn)幾種方案的相關(guān)資料,需要的朋友可以參考下2017-06-06Android應(yīng)用開發(fā):電話監(jiān)聽和錄音代碼示例
這篇文章主要介紹了Android應(yīng)用開發(fā)中電話監(jiān)聽和電話錄音的代碼實(shí)例,同時(shí)附錄了一個(gè)拍照、錄像的例子,需要的朋友可以參考下2014-04-04三種Android單擊事件onclick的實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了三種Android單擊事件onclick的實(shí)現(xiàn)方法,感興趣的小伙伴們可以參考一下2016-05-05Android實(shí)現(xiàn)自動(dòng)變換大小的組件ViewPager2
這篇文章主要介紹了Android實(shí)現(xiàn)自動(dòng)變換大小的組件ViewPager2,ViewPager2最顯著的特點(diǎn)是基于RecyclerView實(shí)現(xiàn),RecyclerView是目前Android端最成熟的AdapterView解決方案2023-03-03Android實(shí)現(xiàn)獲取短信驗(yàn)證碼并自動(dòng)填寫功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)獲取短信驗(yàn)證碼并自動(dòng)填寫功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07Android自定義控件實(shí)現(xiàn)通用驗(yàn)證碼輸入框(二)
這篇文章主要為大家詳細(xì)介紹了Android自定義控件實(shí)現(xiàn)通用驗(yàn)證碼輸入框的第二篇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01Compose開發(fā)之動(dòng)畫藝術(shù)探索及實(shí)現(xiàn)示例
這篇文章主要為大家介紹了Compose開發(fā)之動(dòng)畫藝術(shù)探索及實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09Android?控件自動(dòng)貼邊實(shí)現(xiàn)實(shí)例詳解
這篇文章主要為大家介紹了Android?控件自動(dòng)貼邊實(shí)現(xiàn)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11