不少人會遇到飄落動畫的需求,在這裡我大致寫了乙個,但是不可能滿足所有需求,仍有很多地方需要修改,我直接貼**,效果請自行黏貼到demo中嘗試
public class flowerview extends viewprivate boolean
isdrawing = false;
boolean
hide_mode = false;
private boolean
fileafter = false;
//是否保留最後狀態
public void
setfileafter(boolean fileafter)
//是否漸隱
public void
sethide_mode(boolean hide_mode)
//設定漂浮物
public void
setdrawables(int drawables)
//設定漂浮物密度
public void
setdrawablesize(int drawablesize)
/*** 設定畫布大小**
@param
pw 寬度
*@param
ph 高度
*/private void
setwh(int pw, int ph) ;
offsety = new integer;
} @override
protected void
onsizechanged(int w, int h, int oldw, int oldh)
public
flowerview(context context)
public
flowerview(context context, attributeset attrs, int defstyle)
public
flowerview(context context, attributeset attrs)
private void
init() ;
if (flowers == null)
flowers = new myflower[drawablesize];
loadflower();
addrect();
} @override
protected void
ondraw(canvas canvas)
for (int i = 0
; i < flowers.length
; i++)
rect.t = t;
if (rect.y >= mh)
if (rect.x >= mw || rect.x
< -20)
flowers[i] = rect;
} postinvalidatedelayed(10);
if (hide_mode) else
}} else
rect.t = t;
if (rect.y >= mh)
if (rect.x >= mw || rect.x
< -20)
flowers[i] = rect;
} }}}
public void
loadflower()
flos = null;
} flos = new bitmap[drawables.length];
for (int i = 0
; i < drawables.length
; i++)
}public void
addrect()
}/**
* 開始動畫
*/public void
start()
alalpha = 300
;starttime = system.currenttimemillis();
isdrawing = true;
postinvalidatedelayed(100);
} class myflower else if (aa <= 0.2) else
this.alpha = alalpha
;this.t = -1
;this.g = offsety[newrandom.nextint(4)];
this.h = offsetx[newrandom.nextint(7)];
} public
myflower(bitmap bi)
}}
有關初始化和呼叫的**如下
private voidinitflower() );
} public void
startflow(view v)
就會有飄落動畫的出現,設定密度
flower.setdrawablesize(50);
一定要設定需要飄落的
flower.setdrawables(new int);呼叫start()檢視效果
Android自定義控制項之自定義組合控制項(三)
前兩篇介紹了自定義控制項的基礎原理android自定義控制項之基本原理 一 自定義屬性android自定義控制項之自定義屬性 二 今天重點介紹一下如何通過自定義組合控制項來提高布局的復用,降低開發成本,以及維護成本。1.第一種方式 直接在每個xml布局中寫相同的標題欄布局 這種方式沒有任何布局復用的...
Android自定義控制項之自定義組合控制項
前兩篇介紹了自定義控制項的基礎原理android自定義控制項之基本原理 一 自定義屬性android自定義控制項之自定義屬性 二 今天重點介紹一下如何通過自定義組合控制項來提高布局的復用,降低開發成本,以及維護成本。1.第一種方式 直接在每個xml布局中寫相同的標題欄布局 這種方式沒有任何布局復用的...
自定義View 聚焦動畫控制項
我盡量不打錯別字,用詞準確,不造成閱讀障礙。這個自定義view是很簡單的乙個,效果是在拍攝時的對焦動畫,在自定義su ceview中使用這個控制項就好了。效果如下 初始化 private void init private void setmaincolor private void reset o...