Canvas中屏幕适配是比较头疼的事情,我们必须使用程序来动态的根据屏幕大小来判断以及处理适配问题,下面介绍了长字符串显示时候自动换行的实现。
首先是把字符串每一行进行分割,存放到Vector中。
/**
* 按字节数把字符串分组,支持中文
*/
public static Vector splitStr(Font f, String str, int length) {
if (str == null)
return null;
Vector result = new Vector();
char[] tempChar = str.toCharArray();
int lengthPX = 0;
StringBuffer sb = new StringBuffer();
for (int i = 0; i < tempChar.length; i++) {
lengthPX += f.charWidth(tempChar[i]);
if (lengthPX > length || tempChar[i] == '\n') {
result.addElement(sb.toString());
sb = new StringBuffer();
lengthPX = f.charWidth(tempChar[i]);
if (tempChar[i] != '\n') {
sb.append(tempChar[i]);
}
} else {
sb.append(tempChar[i]);
}
}
if (sb.length() > 0)
result.addElement(sb.toString());
return result;
}
然后可以遍历这个Vector,调用g.drawString来显示字符串。需要在y坐标上累计字体的高度。
分享到:
相关推荐
NULL 博文链接:https://lsdev.iteye.com/blog/1068323
J2me文本自动换行显示的代码,里面的字符串默认是居中显示的,只要把drawString调整一下就可以改变显示方式了。
j2me里考虑到各机型对字体的支持像素大小不一。为移植方便,故做自动分割以适应不同机型需要。
J2ME中的字符串管理和多语言支持近期学习j2me开发,也谈谈我对字符串管理的一个方案。 字符串管理的目的是字符串的资源化管理。 1。这个系统应该可以通过静态方法访问; 2。字符串保存在资源当中; 3。可以方便的...
J2ME字符串比较,该方法中仅仅写了是否存在包含关系,很适合模糊查找字符串时使用。如果字符串较长,则可以修改代码,从开始和结束位置同时查找。
手机中的文字进行自动换行,再无需要数组的烦恼
在J2me的Canvas类中调用中文输入法
j2me中用canvas实现的目录树代码
J2ME canvas多级菜单的实现 此代码仅供学习交流,您可以使用并传播本源代码,但请保留作者信息。切勿商用,若有需要,请先与本人联系。
J2ME开发 用Canvas类显示png,jpg图片 的源码,包括生产的jar,jad文件。 可以直接复制到支持java 的手机上运行。
用J2ME的CANVAS画布绘制一个小游戏界面
用j2me语言实现在手机上实现九宫图 处理了焦点的移动问题 以及焦点落定后 事件处理的问题
j2me,kvm源代码,修复了字符串连接问题,载入vs6.0中可运行...上传原版存档自用
J2me中文教程.pdf J2me中文教程.pdf
J2ME批量查询文件字符源码,可以编译,自测
J2ME的MIDP低级界面编程,入门级参考,word版,canvas开发参考
J2ME中文教程 不错的学习资料,刚开始学习的可以参考下!
J2ME 中文api以及应用 J2ME 中文api以及应用.rar
J2ME的文件 讲述的是Canvas的利用情况
j2me 文档 开发 官方 中文 j2me 文档 开发 官方 中文 j2me 文档 开发 官方 中文