自定義控制項練習 滑動解鎖

2021-07-30 08:28:12 字數 1807 閱讀 5945

public

class

lockview

extends

view

public

lockview

(context context, attributeset attrs)

public

lockview

(context context, attributeset attrs,

int defstyleattr)

@override

protected

void

onmeasure

(int widthmeasurespec,

int heightmeasurespec)

@override

protected

void

ondraw

(canvas canvas)

@override

public

boolean

ontouchevent

(motionevent event)

//只有在手指觸控到button寬度一半之後才進行處理

if(downx >= buttonwidth /2)

break

;case motionevent.action_move:

//獲取當前x

float movex = event.

getx()

;//scrollby

// float moveoffsetx = movex- downx;

//滑動偏移

float scrollx =

-(movex - buttonwidth /2)

;//判斷左邊界是否出界

if(movex < buttonwidth /2)

else

if(movex > vieww - buttonwidth /2)

scrollto((

int) scrollx,0)

;break

;case motionevent.action_up:

float upx = event.

getx()

;int thresx = vieww - buttonwidth /2;

if(upx < thresx)

else

}break;}

return

true

;//消費掉事件

}//4.使用scroller需要複寫這個方法

@override

public

void

computescroll()

}/**

* view布局改變後執行 layout-setframe-sizechanged-onsizechanged

** @param w

* @param h

* @param oldw

* @param oldh

*/@override

protected

void

onsizechanged

(int w,

int h,

int oldw,

int oldh)

public

inte***ce

onlocklistener

public

void

setonlocklistener

(onlocklistener onlocklistener)

}

自定義控制項之滑動

view滑動的方法是現實絢麗的自定義控制項的基礎 一般來說實現滑動的方法有三種 通過view本身提供的scrollto scrollby方法來實現 通過動畫方法 通過更改view的layoutparams,實現重新布局來實現。一 通過view本身提供的scrollto scrollby方法來實現 s...

自定義控制項 滑動條SeekBar

一 效果圖 二 實現思路 1.控制項繼承自view 2.重寫兩個方法ondraw 繪製頁面和 ontouch 新增監聽 3.ondraw canvas ca 中 a.new canvas new bitmap backgroundimage backgroundcanvas 並設定控制項背景 b.n...

Qt自定義控制項 繪製滑動條

主要 展示 標頭檔案 ifndef myslider h define myslider h include include include include include class myslider public qwidget q object public explicit myslider...