Android自定義控制項之自定義View 二

2021-07-25 23:40:04 字數 1179 閱讀 2251

效果如下圖:

1、自定義ringview繼承view新增其構造方法並建立畫筆

public class ringview extends view ;

protected boolean isrunning = false;

public ringview(context context)

public ringview(context context, attributeset attrs)

public ringview(context context, attributeset attrs, int defstyleattr)

private void initview()

}

2、通過handler遞迴呼叫ondraw畫圓

private handler handler = new handler() 

// 透明度每次-10, 慢慢變透明

alpha = math.max(0, alpha - 10);

paint.setalpha(alpha);

// 設定半徑

radius += 5; // 半徑越來越大

paint.setstrokewidth(radius / 3);

invalidate();

if (isrunning)

};};

/*** 執行動畫

*/private void startanim()

// 銷毀view的時候呼叫

@override

protected void ondetachedfromwindow()

@override

protected void ondraw(canvas canvas)

3、通過複寫ontouchevent方法處理按下事件確定圓心

@override

public boolean ontouchevent(motionevent event)

return true;

}

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...