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