這篇部落格應該算是博主真正意義上的第一篇自定義控制項的部落格,所以寫出這個控制項之後第一時間進行記錄,廢話不多說,先上效果圖:
這裡寫描述
onmeasure
onlayout(viewgroup中會重寫,這裡直接整合view,所以不會重寫)
ondraw(所有自定義view的重要步驟)
現在根據上面的幾個步驟簡要說明一下:
首先,看下屬性:
這裡寫描述
然後是控制項的構造方法以及初始化操作和自定義屬性的取值:
這裡寫描述
自定義屬性在這:
這裡寫描述
然後在是重點步驟————onmeasure
這裡寫描述
onlayout這裡就不需要重寫了,所以直接來到ondraw,直接上**
protected void ondraw(canvas canvas)
//開始掃瞄
if(isstart && !isend)
//圓弧滾動 -- 通過修改圓弧的初始值來實現滾動
startrotating();
}else
}
**裡面都注釋的很清楚了,我想不需要另外在說明了。還有幾個方法就是圓弧滾動的實現以及開始掃瞄和完成掃瞄
這裡寫描述
這裡寫描述
最後,通過呼叫startscan方法即可執行掃瞄,呼叫stopscan完成掃瞄。
ps:最後說明一句,由於開始掃瞄和完成掃瞄沒有實現動畫效果感覺有點突兀,希望懂的朋友可以指點或者幫忙實現下也是可以滴,哈哈···
Android自定義控制項之自定義組合控制項(三)
前兩篇介紹了自定義控制項的基礎原理android自定義控制項之基本原理 一 自定義屬性android自定義控制項之自定義屬性 二 今天重點介紹一下如何通過自定義組合控制項來提高布局的復用,降低開發成本,以及維護成本。1.第一種方式 直接在每個xml布局中寫相同的標題欄布局 這種方式沒有任何布局復用的...
Android自定義控制項之自定義組合控制項
前兩篇介紹了自定義控制項的基礎原理android自定義控制項之基本原理 一 自定義屬性android自定義控制項之自定義屬性 二 今天重點介紹一下如何通過自定義組合控制項來提高布局的復用,降低開發成本,以及維護成本。1.第一種方式 直接在每個xml布局中寫相同的標題欄布局 這種方式沒有任何布局復用的...
Android之自定義控制項
1.繼承view,view可以分為三種,基本的view,容器view,布局view 典型的view 如 imageview textview 容器類的view 如 listview gridview viewgroup 布局類的view 如 framelayout gridview linealay...