本篇文章給大家分享的是有關(guān)Android中怎樣自定義View,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。
一、自繪控件
下面我們準(zhǔn)備來(lái)自定義一個(gè)計(jì)數(shù)器View,這個(gè)View可以響應(yīng)用戶(hù)的點(diǎn)擊事件,并自動(dòng)記錄一共點(diǎn)擊了多少次。新建一個(gè)CounterView繼承自View,代碼如下所示:
可以看到,首先我們?cè)贑ounterView的構(gòu)造函數(shù)中初始化了一些數(shù)據(jù),并給這個(gè)View的本身注冊(cè)了點(diǎn)擊事件,這樣當(dāng)CounterView被點(diǎn)擊的時(shí)候,onClick()方法就會(huì)得到調(diào)用。而onClick()方法中的邏輯就更加簡(jiǎn)單了,只是對(duì)mCount這個(gè)計(jì)數(shù)器加1,然后調(diào)用invalidate()方法。通過(guò) Android視圖狀態(tài)及重繪流程分析,帶你一步步深入了解View(三) 這篇文章的學(xué)習(xí)我們都已經(jīng)知道,調(diào)用invalidate()方法會(huì)導(dǎo)致視圖進(jìn)行重繪,因此onDraw()方法在稍后就將會(huì)得到調(diào)用。
這樣,一個(gè)自定義的View就已經(jīng)完成了,并且目前這個(gè)CounterView是具備自動(dòng)計(jì)數(shù)功能的。那么剩下的問(wèn)題就是如何讓這個(gè)View在界面上顯示出來(lái)了,其實(shí)這也非常簡(jiǎn)單,我們只需要像使用普通的控件一樣來(lái)使用CounterView就可以了。比如在布局文件中加入如下代碼:
可以看到,這里我們將CounterView放入了一個(gè)RelativeLayout中,然后可以像使用普通控件來(lái)給CounterView指定各種屬性,比如通過(guò)layout_width和layout_height來(lái)指定CounterView的寬高,通過(guò)android:layout_centerInParent來(lái)指定它在布局里居中顯示。只不過(guò)需要注意,自定義的View在使用的時(shí)候一定要寫(xiě)出完整的包名,不然系統(tǒng)將無(wú)法找到這個(gè)View。
以上就是Android中怎樣自定義View,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
新聞名稱(chēng):Android中怎樣自定義View-創(chuàng)新互聯(lián)
鏈接分享:http://www.rwnh.cn/article28/gihcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)、小程序開(kāi)發(fā)、域名注冊(cè)、網(wǎng)站策劃、企業(yè)網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)