国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android自定義View的實(shí)現(xiàn)方法實(shí)例詳解

2019-10-22 18:27:14
字體:
供稿:網(wǎng)友

一、自繪控件

下面我們準(zhǔn)備來自定義一個(gè)計(jì)數(shù)器View,這個(gè)View可以響應(yīng)用戶的點(diǎn)擊事件,并自動(dòng)記錄一共點(diǎn)擊了多少次。新建一個(gè)CounterView繼承自View,代碼如下所示:

android,自定義view

可以看到,首先我們在CounterView的構(gòu)造函數(shù)中初始化了一些數(shù)據(jù),并給這個(gè)View的本身注冊了點(diǎn)擊事件,這樣當(dāng)CounterView被點(diǎn)擊的時(shí)候,onClick()方法就會得到調(diào)用。而onClick()方法中的邏輯就更加簡單了,只是對mCount這個(gè)計(jì)數(shù)器加1,然后調(diào)用invalidate()方法。通過 Android視圖狀態(tài)及重繪流程分析,帶你一步步深入了解View(三) 這篇文章的學(xué)習(xí)我們都已經(jīng)知道,調(diào)用invalidate()方法會導(dǎo)致視圖進(jìn)行重繪,因此onDraw()方法在稍后就將會得到調(diào)用。

        這樣,一個(gè)自定義的View就已經(jīng)完成了,并且目前這個(gè)CounterView是具備自動(dòng)計(jì)數(shù)功能的。那么剩下的問題就是如何讓這個(gè)View在界面上顯示出來了,其實(shí)這也非常簡單,我們只需要像使用普通的控件一樣來使用CounterView就可以了。比如在布局文件中加入如下代碼:

android,自定義view

       可以看到,這里我們將CounterView放入了一個(gè)RelativeLayout中,然后可以像使用普通控件來給CounterView指定各種屬性,比如通過layout_width和layout_height來指定CounterView的寬高,通過android:layout_centerInParent來指定它在布局里居中顯示。只不過需要注意,自定義的View在使用的時(shí)候一定要寫出完整的包名,不然系統(tǒng)將無法找到這個(gè)View。

總結(jié)

以上所述是小編給大家介紹的Android自定義View的實(shí)現(xiàn)方法實(shí)例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對VEVB武林網(wǎng)網(wǎng)站的支持!


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 板桥市| 昆明市| 长寿区| 玉环县| 正宁县| 梧州市| 景洪市| 玉山县| 靖边县| 易门县| 固原市| 肥东县| 马尔康县| 六枝特区| 射阳县| 福鼎市| 北票市| 仁寿县| 永平县| 仙游县| 泰宁县| 高邮市| 凌海市| 乌苏市| 密云县| 河西区| 井研县| 政和县| 界首市| 淳安县| 太白县| 阳原县| 吉木萨尔县| 佛坪县| 紫云| 婺源县| 浦江县| 吉木乃县| 天峻县| 巩义市| 吴江市|