字体大小设置

上周项目组提出了给程序加上字体设置的功能,相信这也是很多应用程序都会具有的一个功能。但是实现起来,我发现了很多很多……

首先,由于程序一开始设计的时候,并没有考虑字体设置的功能,讲到这里,不少人已经知道,很有可能会对程序对出不小的修改了。当然,并不是说一开始程序设计的不好,只能说明一个问题:在程序员的世界里,永远不变的就是变化的需求。前面说了,由于程序一开始没有考虑字体设置的功能,而在J2ME平台上,字体大小只有三种(大中小)[ps:其他平台的软件,相信同一项目中,字体的大小也是有一定规范的],那么,把项目中使用到的字体设置为常量,是非常合适的。比如就是以下三种:

GameConst.LFont,GameConst.MFont,GameConst.SFont

当然,还需要一个GameConst.FontSystem来引用其中一种作为程序中使用的字体。这些实现都没有问题,但是现在问题来了,程序中的字体需要根据用户的需求改变。比如 用户选择了小字体,那么就是对应程序中的GameConst.SFont,但是我们开始选择的是GameConst.MFont,怎么办呢?不可能直接修改GameConst.FontSystem啊(它是常量,常量一旦初始化,不能修改)。

我一开始想到的是把它定义为变量不就得了,但是我刚把它定义为变量,我的妈啊,程序里面出现100多处报错。大量的地方引用了GameConst.FontSystem,修改起来实在是不便。所以我就直接定义了一个新的变量,然后在变量上做修改。而利用eclipse的替换功能,把程序中所有的GameConst.FontSystem替换成了定义的变量(感谢eclipse的全局替换功能,技术改变生产力啊……)。

似乎到此问题已经解决了,其实,问题才刚刚开始,由于是J2ME程序,界面的绘制和字体的大小有着密切的关系(不可避免的耦合),可能做过UI的朋友应该知道。那么,由于字体大小改变了,是不是所有的界面都会出现一定的问题呢(外观不协调)?非常幸运的,由于程序中大部分地方都设计的很合理,所以改动的地方不大。但是比较遗憾的是,有些问题还是不得不去面对。比如说,字体设置界面前面,已经出现了不少界面,而由于在字体界面中修改了字体的大小,返回到前面的界面,界面中的子体值同样是修改过的。这个时候,就会出现界面混乱的情况,当然这个时候也可以通过重新初始化前面界面的元素,以达到和当前字体匹配,但是元素实在太多了,麻烦。最后我选择的是删除前面界面,重新生成……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值