Android實現控制項點選波紋擴散效果

2021-07-30 12:21:47 字數 1869 閱讀 5925

public

class

mybutton

extends

private

static

final string tag = "mybutton";

public

static

final

int invalidate_duration = 15;

// 每次擴散半徑

public

static

int difuse_gap = 10;

// 系統判定為長按事件的時間

private

int longpresstimeout;

private paint colofrpaint;

//背景顏色

private paint bgpaint;

// 按下的時間

private

long downtime = 0;

private

int eventx;

private

int eventy;

private

boolean ispushbutton;

// 當前半徑

private

int shaderradio;

// 最大半徑

private

int maxradio;

private

int viewwidth;

private

int viewheight;

public

mybutton(context context)

public

mybutton(context context, attributeset attrs)

public

void

initpaint()

@override

public

boolean

ontouchevent(motionevent event)

eventx = (int) event.getx();

eventy = (int) event.gety();

countmaxratio();

ispushbutton = true;

log.d(tag, "ontouchevent: "+maxradio);

postinvalidatedelayed(invalidate_duration);

break;

case motionevent.action_move:

break;

case motionevent.action_up:

//判斷是否是長按

if (systemclock.elapsedrealtime() - downtime < longpresstimeout) else

break;

}return

super.ontouchevent(event);

}@override

protected

void

dispatchdraw(canvas canvas) else

}//計算最大半徑

public

void

countmaxratio() else

}elseelse}}

public

void

cleardata()

@override

protected

void

onsizechanged(int w, int h, int oldw, int oldh)

}

點選水波紋效果

當布局沒有設定 background屬性的時候給其布局中加入一下 就是系統預設的水波紋效果 比如在recyclerview的item布局中,或者其他任意布局中。android background android attr selectableitembackground android click...

Android實現圓角控制項

在android開發過程中,控制項的使用是最常見 最基本的。但是我們都知道,在android中的控制項都是矩形的,而在實際專案中,我們的ui設計師經常會使用一些圓角的控制項。那麼,在android有哪些方式可以實現圓角控制項了,在使用和適配的過程當中,又有哪些問題了。下面,我將介紹android中常...

textbox控制項實現點選文字自動消失

現在越來越多的輸入提示都是直接應用在textbox裡面,當滑鼠點選的時候,預設文字消失,這種效果在以前的一篇文章裡面寫過,請參見 在textbox中實現滑鼠點選文字消失 那篇文章裡面講到的方法只能實現滑鼠點選,文字消失,當滑鼠點選textbox以外,同時textbox又並沒有輸入任何字元的時候,預設...