自定義控制項

2021-12-30 04:48:52 字數 1199 閱讀 9947

1.先測量自定義view自身的寬高,然後儲存

2.根據view的確定寬高來畫棋盤上面的格仔

3.與使用者互動的時候落子,根據確定的寬高來確定黑白棋子的寬高

4.繪製棋子

5.處理5顆棋子連成線的邏輯

6.自定義view儲存狀態的標準寫法

7.再來一局實現

效果圖

布局xml

**第一步:先測量自定義view自身的寬高,然後儲存

@override

protected void onmeasure(int widthmeasurespec, int heightmeasurespec) else if(heightmode==measurespec.unspecified)

//要保證我們的棋盤是乙個正方形,所以選取小的作為該正方形的邊長

int width=math.min(widthsize,heightsize);

setmeasureddimension(width,width);//儲存自身的寬高

}**第二步:根據view的確定寬高來畫棋盤上面的格仔**第三步:.與使用者互動的時候落子,根據確定的寬高來確定黑白棋子的寬高

@override

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

private void drawgrid(canvas canvas)

return false;

}private boolean chekcrigheslant(point currentpoint,arraylist points)

@override

protected void onrestoreinstancestate(parcelable state)

super.onrestoreinstancestate(state);

}**第七步:再來一局實現//再來一局

public void restart()

自定義控制項 自定義鐘錶

private context mcontext 畫筆 private paint mpaint 控制項的寬 private int mwidth x方向的圓心座標 private int center 鐘錶的半徑 private int mradio 圓環的寬 private int stroke...

自定義控制項

首先是以下這幾項,attribute defaultproperty指定元件的預設屬性,toolboxdata指定當從ide工具中的 工具箱中拖動自定義控制項時為它生成的預設標記 defaultproperty text toolboxdata mycontrol runat server 上面這些...

自定義控制項

新聞管理 using system using system.collections.generic using system.linq using system.web using system.web.ui using system.web.ui.webcontrols namespace ne...