1、實現基類
(1)item數量控制
private
void ensureitems(int
count)
} else
if (c > count)
}for (int i = 0; i < getchildcount(); i++)
}
(2)mearsure處理
@override
protected
final
void
onmeasure(int widthmeasurespec, int heightmeasurespec)
}super.onmeasure(widthmeasurespec, heightmeasurespec);
}
(3)layout處理
@override
protected
final
void
onlayout(boolean changed, int l, int t, int r, int b)
}}
(4)基類函式
//建立乙個view
protected
abstract view oncreateitemview();
//銷毀乙個view
protected
abstract
void
ondestroyitemview(view view);
//初始化乙個view
protected
abstract
void
oninititemview(view view);
//取出丈量基準
protected
abstract
boolean
getmeasurebase();
//取出整個控制項的大小
protected
abstract rect getbound(int size, boolean base, int count);
//獲取單個子檢視
protected
abstract rect getitembounds(int width, int height, int count);
(5)自定義屬性
xml檔案
<?xml version="1.0" encoding="utf-8"?>
name="sudoku">
name="spacing"
format="integer"/>
name="item_background"
format="reference" />
declare-styleable>
resources>
引用到布局檔案
.netease
.study
.ui.sudoku
.sudokuview
android:id="@+id/sodoku"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorbackground"
com.netease
.study
.ui.sudoku
.sudokuview>
初始化屬性
private void initattrs(context context, attributeset attrs, int defstyleattr, int defstyleres)
(6)定位
protected rect getbound(int size, boolean base, int count)
@override
protected rect getitembounds(int width, int height, int count)
return bounds;
}
(7)手勢探測
private
void
init(context context)
});}
//手勢動作
private
final gesturedetector gesturedetector = new gesturedetector(null, new gesturedetector.******ongesturelistener()
//雙擊
@override
public
boolean
ondoubletap(motionevent e)
});
九宮格布局
2009 08 25 15 15 27 九宮格是一種比較古老的設計,它最基本的表現其實就像是乙個三行三列的 其實它最初是在window的c s結構中用得比較多,比如我們經常看 到軟體中的乙個窗體,其實就是乙個九宮格的典型應用,因為窗體需要在八個方向拉伸,所以在c s軟體中大量採用這種技術來布局設計。...
九宮格問題
include include stl 雙端佇列容器 include include pos.h using namespace std ofstream fout sudoku.txt deque d int lay deque d int checkout pos p,int n int sud...
九宮格排布
在我們設定ui時,肯定會遇到設定九宮格的效果 如上圖所示,我們如何讓展示出來哪?首先我們會發現 每行的的 y 值是一樣的 行數決定 y 值 每列的的 x 值是一樣的 列數決定 x 值 綜上所述 我們只要知道每張的 行數 和 列數 那麼,它的座標自然就肯定了 我們怎樣確定 行數 和 列數那?我們發現 ...