前言

  关键字: android.widget.AnalogClock, Android 2.2 r1 AnalogClock, AnalogClock api

  本章翻译的是android.widget.AnalogClock,译为时钟/模拟时钟。从本章开始,系列翻译文章正式更名为“Android 中文 ?”,如当前系列为“Android 中文 API”,此外已经有人在翻译测试相关的内容,欢迎一起参与Android API 的中文翻译行动,联系我over140@gmail.com。

声明

  欢迎转载,但请保留文章原始出处:)

    农民伯伯:http://over140.blog.51cto.com/

    

版本

  Android 2.2 r1

正文

  一、结构

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

    参数

      w   视图当前宽度

      h   视图当前高度

      oldw 视图以前的宽度

      oldh 视图以前的高度

  四、PDF下载

    CSDN: http://download.csdn.net/source/2772172

  

结束

   翻译组目前成员15名,相关计划正在进行中,期待51名成员的那天早日到来,欢迎大家踊跃参加。

更多相关文章

  1. Android异步处理二:使用AsyncTask异步更新UI界面
  2. Android启动画面实现
  3. Android概述
  4. Android(安卓)onActivityResult()不执行的几个原因
  5. Android概述
  6. Android概述
  7. Android概述
  8. Android(安卓)Framework 基础理解
  9. android开发中常用的五大布局

随机推荐

  1. g++ 连接 mysql 编译报错 /usr/bin/ld: c
  2. Mysql 查看及设置事物隔离级别
  3. mysql学习之路_外键
  4. 如何用mysql或Navicat实现流水号的插入
  5. 远程服务器CentOS7安装MySQL并用本地Navi
  6. 在mac中配置apache+php5.3+mysql的环境,修
  7. 如何在mysql中的两个值之间插入一个新值
  8. 主义通过扩展来破坏对实体的查询
  9. 新版MySql 5.6.20,安装后无法登陆的解决办
  10. MySQL procedure 与 function 的区别