?
Dieses Dokument verwendet PHP-Handbuch für chinesische Websites Freigeben
AnalogClock
農(nóng)民伯伯
版本:Android 2.2 r1
?
public class AnalogClock extends View
?
java.lang.Object
android.view.View
? ???? android.widget.AnalogClock
?
概述
????????
???????? 這個(gè)控件是一個(gè)帶有時(shí)針和分針的模擬時(shí)鐘。
?
受保護(hù)方法
???????? protected void onAttachedToWindow ()
???????? 視圖(AnalogClock)附在窗體時(shí)調(diào)用。在調(diào)用時(shí),視圖在窗體表面并開始繪制。注意保證這個(gè)方法在onDraw(Canvas)以前被調(diào)用,但是它可以在首次onDraw以前任何時(shí)間調(diào)用——包括onMeasure(int, int)之前或之后。
?
???????? protected void onDetachedFromWindow ()
???????? 視圖(DigitalClock)從窗體上分離(移除)時(shí)調(diào)用,同時(shí)窗體表面不再繪制視圖。
?
???????? protected void onDraw (Canvas canvas)
???????? 實(shí)現(xiàn)你自己的繪制。
?????????????????? 參數(shù)
??????????????????????????? canvas ?? 在畫布上繪制背景
?
???????? protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)
測量這個(gè)視圖以確定其內(nèi)容的高度和寬度。通過measure(int, int)來調(diào)用這個(gè)方法,并且應(yīng)該由子類重寫以提高內(nèi)容測量的效率和精確度。
約定:當(dāng)該方法被重寫時(shí),你必須調(diào)用setMeasuredDimension(int, int)來存儲已測量視圖的高度和寬度。否則將通過measure(int, int)拋出一個(gè)IllegalStateException異常。調(diào)用父類的onMeasure(int, int)方法是一個(gè)有效的辦法。
父類的實(shí)現(xiàn)是以背景大小為默認(rèn)大小,除非MeasureSpec(測量細(xì)則)允許更大的背景。? 為了更好測量內(nèi)容子類應(yīng)該重寫onMeasure(int, int)。
如果這個(gè)方法被重寫,子類有責(zé)任確保測量它的高度和寬度至少是視圖的最小寬度和高度(getSuggestedMinimumHeight()和getSuggestedMinimumWidth())。
參數(shù)
widthMeasureSpec ??????? 由于父類有橫向空間要求,參見View.MeasureSpec。
??????????????????????????? heightMeasureSpec ?????? 由于父類有縱向空間要求,參見View.MeasureSpec。
?
???????? protected void onSizeChanged (int w, int h, int oldw, int oldh)
???????? 布局期間當(dāng)視圖的大小發(fā)生改變時(shí)調(diào)用。如果只是添加到視圖,調(diào)用時(shí)顯示的是舊值0。(譯者注:也就是添加到視圖時(shí),oldw和oldh返回的是0)
???????? ???????? 參數(shù)
???????? w ??? 視圖當(dāng)前寬度
???????? h ???? 視圖當(dāng)前高度
???????? oldw ?????? 視圖以前的寬度
???????? oldh ??????? 視圖以前的高度