且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Android 中文 API (16) —— AnalogClock

更新时间:2022-09-18 12:25:26

正文

  一、结构

    public class AnalogClock extends View

 
 

    java.lang.Object

      android.view.View

            android.widget.AnalogClock

 

  二、类概述

    Android 中文 API (16) —— 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。(译者注:也就是添加到视图时,oldwoldh返回的是0

    参数

      w       视图当前宽度

      h        视图当前高度

      oldw        视图以前的宽度

      oldh         视图以前的高度

 

本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582686,如需转载请自行联系原作者