本毕业设计的五子棋棋盘的设计就运用到了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的音乐播放器的研究与应用

《信息技术课程标准》微课的设计与制作

《读书交流分享》APP的设计与开发

《信息技术课程标准》系列微课的设计与制作

《大学生课堂教学管理与...

教育技术学专业技能学习网站的设计

基于Android的电子拍卖系统设计与开发

基于Web应用的致胜公司企业内部培训系统设计

大淘宝网的虚假交易研究

发酵米粉优势菌株的发酵特性研究

肢体语言在小学英语教学中的应用浅谈

浅谈农村大气环境保护的制度构建【1868字】

日语论文中日酒文化对比研究

淮安市高校足球运动损伤问卷调查表

个案管理茬老年糖尿病患...

新疆农林高校學生昆虫生...

2021年什么行业赚钱,适合...

激光模拟训练器材国内外研究现状