本毕业设计的五子棋棋盘的设计就运用到了view类,采用自定义绘图的方式加以实现。

说到自定义绘图,这里我们需要了解两个重点,第一个重点是重写onMeasure() {}方法,第二个重点就是重写onDraw() {}方法[3]。

自定义绘图就好比是绘画,可以在画板的任意位置上绘制你想要的东西,而父类View就好比是一张画布,我们所需要实现的东西,比如这里的棋盘都在自定义绘图里完成。那么该怎样获取画板,这个其实很简单,之前我们提到的掌握自定义View的两个重点中的第二个重点,重写onDraw() {}方法就可以获取画板,其中canvas就是我们所说的画板。这个其实很简单,最核心的也是最最重要的是计算绘图位置,这里就要用到重写 onMeasure() {}方法。

代码块1:

@Override文献综述

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    super。onMeasure(widthMeasureSpec, heightMeasureSpec);

    int width = MeasureSpec。getSize(widthMeasureSpec);

    setMeasuredDimension(width, width);

    calcLinePoints();

}

  上面我贴出了重写onMeasure(){}方法的代码块1,onMeasure()中有两个参数,一个是widthMeasureSpec(宽详细测量值),另一个是heightMeasureSpec(高详细测量值),此方法的作用就是测量view视图的大小。在此方法中我又调用了MeasureSpec类下的getSize()函数,MeasureSpec里封装了父布局中传递给子布局的布局要求,每个MeasureSpec都代表了一组高度与宽度的要求 ,调用 getSize()通过详细测量结果获得size(由于本毕业设计采用的是正方形棋盘,为了美观,View视图的大小也设计为长宽相等,因此这里只需要调用一次就可以了),调用setMeasuredDimension()来存储前面我们刚刚测量好的宽高值。

上一篇:jsp+mysql考试管理系统的设计与实现+ER图
下一篇:Android的音乐播放器的研究与应用

采用颜色共生矩阵的图像分析技术实现

Android全国天气移动终端应用程序设计研究

jsp+mysql网上化肥店系统的设计与开发

java的B2C型电子商务网站管理系统的设计

基于MOODLE平台的在线交互式学习设计

基于离散事件系统Petri网模型的可达图研究

局域网管理系统的设计与实现

组态王文献综述

淮安市老漂族心理与休闲体育现状的研究

浅谈动画短片《天降好运》中的剧本创作

小学《道德与法治》学习心得体会

人事管理系统开题报告

大学生就业方向与专业关系的研究

弹道修正弹实测弹道气象数据使用方法研究

适合宝妈开的实体店,适...

紫陵阁

林业机械作业中的安全性问题【2230字】