自定義view寫了這麼多篇幅,通用的屬性部分**,測量**忽略不計
真正實現的部分就不到100行!先上效果圖
關閉狀態
開啟狀態
動起來
下面我們看下我們的實現;
@override
protected
void
ondraw(canvas canvas)
private
void
drawswichballbyflag(canvas canvas)
private
void
drawswichbg(canvas canvas)
@override
protected
void
onsizechanged(int w, int h, int oldw, int oldh)
public
void
setopenstate(boolean openstate)
核心**結束,由於開關滑塊比較小就沒有加入彈性滑動以及屬性動畫public boolean ontouchevent(motionevent event)
if (movex > viewwidth - strockradio)
swichballx = movex;
break;
case motionevent.action_up:
// 手指離開時,根據up的座標設定view的開關狀態
int upx = (int) event.getx();
if (upx > viewwidth / 2) else
break;
}invalidate();
return
true;
}
有興趣的可以加乙個valueanimion在up中進行緩慢的滑動!
(
自定義View例項(三)滑動開關
通過繼承view類自定義view步驟如下 實現view構造方法 測量view的大小,即重寫onmeasure方法 繪製view,即重寫ondraw方法 繼承自view一般不需要重寫onlayout方法 這次我們實現乙個滑動的開關,效果見圖 view的大小設定為背景的寬高 override prote...
Android 自定義開關按鈕樣式
效果圖 1,定義乙個drawable shape thumb off.xml檔案,定義開關關閉時,thumb滑塊顯示的效果。1.0 encoding utf 8 xmlns android android shape rectangle android radius 50dp android hei...
自定義刻度 Android自定義滑動刻度進度條
做到以上的效果圖,就可以知道,兩個模式,首先,定義相應的自定義屬性,額,沒辦法,上頭要求,所以規範點 新建乙個bar attrs.xml檔案 attr declare styleable resources 然後就是 中取得相應的屬性值和設定預設值 然後修改seekbar的線的顏色和滑動塊的屬性,通...