效果如下圖:
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...