首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

数独游戏(一)之绘制九宫格,并初始化数据

2012-06-20 
数独游戏(1)之绘制九宫格,并初始化数据数独游戏之绘制九宫,并初始化数据 1.在工程里的res/values目录下

数独游戏(1)之绘制九宫格,并初始化数据

<数独游戏>之绘制九宫格,并初始化数据

 

1.在工程里的res/values目录下新建一个colors.xml来存放具体颜色值,已供程序通过R.color.颜色名来调用

this.getResources().getColor(R.color.shudu_background)  获取配置文件中的颜色值

 

 

2.新建一个自定义图形类ShuduView继承View父类

 

 

 

1)画九宫格里面的 横线,纵线,每次画出的线要想达到某种效果,需画两条 之间格1像素的位置,且颜色也要搭配好

2)要想让字在单元格中居中,这是一个问题,得设置一下偏移量

X轴方向:比较好设置,就是单元格宽度除以2   , float x = width/2f;

Y轴方向:并不是通过单元格高度除以2,因为涉及到基准线的概念,通过画笔对象调用 getFontMetrics() 方法,获取FontMetrics 对象,也就是获取了 ascent,top,descent,bottom 等属性,四个属性的值都是基于基准线而言

公式:float y = height/2f - (fm.ascent+fm.descent)/2 ;   通过单元格高度除以2,加上(ascent的高度减去descent)除以2

之所以上面的公式中出现减号,是因为 基准线的上方 是负数,

数独游戏(一)之绘制九宫格,并初始化数据


 

 

3.Game类,存放一些初始化的数据等等

 


4.Activty类

 


5.运行效果:

数独游戏(一)之绘制九宫格,并初始化数据

 

 

 

热点排行