自定義View
在沒(méi)有現(xiàn)成的View烘跺,需要自己實(shí)現(xiàn)的時(shí)候湘纵,就是用自定義View滤淳,一般繼承于自View,SurfaceView等
自定義ViewGroup
自定義ViewGroup一般是利用現(xiàn)有的組件根據(jù)特定的布局方式來(lái)組成新的組件ViewGroup直接用FrameLayout,LinearLayout,RelativeLayout,ScrollView等基礎(chǔ)之上修改
自定義View 主要實(shí)現(xiàn)是 onMeasure+onDraw
自定義ViewGroup主要實(shí)現(xiàn)是onMeasure+onLayout
自定義View流程
2.1.1自定義屬性,獲取自定義屬性(達(dá)到配置效果)
2.1.2onMeasure()方法用于測(cè)量計(jì)算自己寬高,前提是繼承自View铺敌,如果是繼承自系統(tǒng)已有的TextView,Button偿凭,已經(jīng)給你計(jì)算好了寬高
2.1.3onDraw()用于繪制自己的顯示(在此之前要清楚自己繪制幾部分分開(kāi)明了)
2.1.4onTouch()用于與用戶交互(屏幕互動(dòng))
自定義ViewGroup流程
2.1.1自定義屬性,獲取自定義屬性(達(dá)到配置效果)
2.1.2onMeasure() 測(cè)量方法 for循環(huán)測(cè)量子View痰哨,根據(jù)子View的寬高來(lái)計(jì)算自己的寬高
2.1.3onDraw()用的比較少匾嘱,如果有繪制需要用dispacthDraw()
2.1.4onLayout()用來(lái)擺放子View,前提是不是隱藏
2.1.5一般不直接用ViewGroup而是直接用FrameLayout,LinearLayout,RelativeLayout,ScrollView等基礎(chǔ)之上修改