一、結構
public class?AnalogClock?extends?View
java.lang.Object
android.view.View
??????android.widget.AnalogClock
二、類概述
這是一個帶有時針和分針的模擬時鐘控件。
三、受保護的方法
?????????protected void onAttachedToWindow ()
?????????視圖(AnalogClock)附在窗體時調用。在調用時,視圖在窗體表面并開始繪制。注意保證這個方法在onDraw(Canvas)以前被調用,但是它可以在首次onDraw以前任何時間調用——包括onMeasure(int, int)之前或之后。
?????????protected void onDetachedFromWindow ()
?????????視圖(DigitalClock)從窗體上分離(移除)時調用,同時窗體表面不再繪制視圖。
?????????protected void onDraw (Canvas canvas)
?????????實現你自己的繪制。
???????????????????參數
? ? ? ? ? ? ? ? ? ? ? ? ? ?canvas ???在畫布上繪制背景
?????????protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)
測量這個視圖以確定其內容的高度和寬度。通過measure(int, int)來調用這個方法,并且應該由子類重寫以提高內容測量的效率和精確度。
約定:當該方法被重寫時,你必須調用setMeasuredDimension(int, int)來存儲已測量視圖的高度和寬度。否則將通過measure(int, int)拋出一個IllegalStateException異常。調用父類的onMeasure(int, int)方法是一個有效的辦法。
父類的實現是以背景大小為默認大小,除非MeasureSpec(測量細則)允許更大的背景。?為了更好測量內容子類應該重寫onMeasure(int, int)。
如果這個方法被重寫,子類有責任確保測量它的高度和寬度至少是視圖的最小寬度和高度(getSuggestedMinimumHeight()和getSuggestedMinimumWidth())。
參數
widthMeasureSpec?????????由于父類有橫向空間要求,參見View.MeasureSpec。
??????????????????????????? heightMeasureSpec ???????由于父類有縱向空間要求,參見View.MeasureSpec。
?????????protected void onSizeChanged (int w, int h, int oldw, int oldh)
?????????布局期間當視圖的大小發生改變時調用。如果只是添加到視圖,調用時顯示的是舊值0。(譯者注:也就是添加到視圖時,oldw和oldh返回的是0)
參數
w ???? 視圖當前寬度
h ????? 視圖當前高度
oldw ???????視圖以前的寬度
oldh ????????視圖以前的高度
四、PDF下載
CSDN:?http://download.csdn.net/source/2772172
本文轉自博客園農民伯伯的博客,原文鏈接:Android 中文 API (16) —— AnalogClock,如需轉載請自行聯系原博主。