本毕业设计的五子棋棋盘的设计就运用到了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考试管理系统的设计与实现+ER图

php+mysql微擎系统的活动报名管理系统设计

基于云储存的文件管理系统设计+源代码

RFID射频识别技术的餐饮自...

安卓的生活助手设计与实现+源代码

jsp+mysql网上书城系统的设计与实现+源代码

电力工程施工工程中的项...

jsp+sqlserver高校BBS的设计与实现

三胎补助政策最新消息2...

护理干预茬子宫肌瘤合并...

ICU护理工作中细节管理的...

威宁县最新计划生育政策...

多项式分解方法研究

合作性管理茬护理研究課...

大数据分析對CPA审计的影响探讨【2403字】

临床护理路径茬慢性阻塞...