一种多行字符的显示方法

文档序号:8395852阅读:163来源:国知局
一种多行字符的显示方法
【技术领域】
[0001]本发明涉及用户显示界面技术领域,尤其涉及一种多行字符的显示方法。
【背景技术】
[0002]现阶段,在显示区域内显示多行字符的时候,所采用的计算一行最多能显示多少字符的算法是:计算从最后一个字符到第一个字符的宽度是否超过显示区域的宽度,是的话,就重新计算从倒数第2个字符到第一个字符的宽度,一直到计算出的宽度小于显示区域的宽度,才显示这一行的字符并换行。这显示方式不够快速,运行效率低,且没有公开具体的实现方法。

【发明内容】

[0003]本发明要解决的技术问题,在于提供一种多行字符的显示方法,运行效果高,刷新频率快,很好的提高用户界面的性能。
[0004]本发明是这样实现的:1、一种多行字符的显示方法,包括如下步骤:
[0005]步骤1、从要显示的这段字符的第一个开始,一直到换行符或回车符或这段字符的结束,得出要显示的这段字符的宽度;设这段字符的字符个数为η个,η为自然数;
[0006]步骤2、判断η个字符的宽度是否超过显示区域的宽度,不超过,直接显示这一行的η个字符并换行;进入步骤4 ;超过,则进入步骤3 ;
[0007]步骤3、重新获得从第一个字符开始到第η个字符之间,不能超过显示区域的宽度,所能显示的最多的字符个数m ;再显示这m个字符并换行,其中m〈n ;
[0008]步骤4、偏移掉已显示的字符后,继续重复步骤1,直到这段字符的结束。
[0009]进一步地,所述字符个数m获得的方式采用二分法、哈希查找或者二叉排序树算法获得O
[0010]进一步地,所述字符个数m获得的方式采用二分法,所述二分法具体实现方式如下:
[0011]步骤31、标记low为要显示的第一个字符开始位置,high为最后字符的位置,刚开始,low = 1,high = η ;
[0012]步骤32、获得从第low个位置开始,到第(low+high)/2个位置的字符的宽度;
[0013]步骤33、判断这个宽度是否超过显示区域的宽度,如果没超过,low =(low+high)/2 ;如果超过,high = (low+high)/2 ;
[0014]步骤34、继续重复步骤32—直到不满足条件(high-low) >1时退出这个二分法,这时获得的low值就是这行所能显示的最多的字符个数m。
[0015]本发明具有如下优点:本发明通过在显示区域内要显示一段字符时,当超过显示区域的最右边时要自动换行到下一行,或者当遇到换行符或回车符也要能换行到下一行。这样能使显示的一段字符自动换行,并且当遇到换行符或回车符时,也能自动换行,计算每行所能显示的字符的最大个数的算法中宽度的比较次数少,运行效率高,提高字符换行的速度,刷新快,优化了用户显示界面。
【附图说明】
[0016]图1为本发明方法流程示意图。
【具体实施方式】
[0017]请参阅图1所示,本发明的一种多行字符的显示方法,包括如下步骤:
[0018]步骤1、从要显示的这段字符的第一个开始,一直到换行符或回车符或这段字符的结束,得出要显示的这段字符的宽度;设这段字符的字符个数为η个,η为自然数;
[0019]步骤2、判断η个字符的宽度是否超过显示区域的宽度,不超过,直接显示这一行的η个字符并换行;进入步骤4 ;超过,则进入步骤3 ;
[0020]步骤3、重新获得从第一个字符开始到第η个字符之间,不能超过显示区域的宽度,所能显示的最多的字符个数m ;再显示这m个字符并换行,其中m〈n ;
[0021]步骤4、偏移掉已显示的字符后,继续重复步骤1,直到这段字符的结束。
[0022]其中,所述字符个数m获得的方式采用二分法、哈希查找或者二叉排序树算法获得。
[0023]所述二分法具体实现方式如下:
[0024]步骤31、标记low为要显示的第一个字符开始位置,high为最后字符的位置,刚开始,low = 1,high = η ;
[0025]步骤32、获得从第low个位置开始,到第(low+high) /2个位置的字符的宽度;
[0026]步骤33、判断这个宽度是否超过显示区域的宽度,如果没超过,low =(low+high)/2 ;如果超过,high = (low+high)/2 ;
[0027]步骤34、继续重复步骤32—直到不满足条件(high-low) >1时退出这个二分法,这时获得的low值就是这行所能显示的最多的字符个数m。
[0028]采用的计算出每行最多能显示的字符个数的算法很重要,采用二分法这样对宽度的比较次数少,运行效果高,刷新频率快,很好的提高用户界面的性能。
[0029]总之,本发明能使显示的一段字符自动换行,并且当遇到换行符或回车符时,也能自动换行,计算每行所能显示的字符的最大个数的算法中宽度的比较次数少,运行效率高,提高字符换行的速度,刷新快,优化了用户显示界面。
[0030]以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
【主权项】
1.一种多行字符的显示方法,其特征在于:包括如下步骤: 步骤1、从要显示的这段字符的第一个开始,一直到换行符或回车符或这段字符的结束,得出要显示的这段字符的宽度;设这段字符的字符个数为η个,η为自然数; 步骤2、判断η个字符的宽度是否超过显示区域的宽度,不超过,直接显示这一行的η个字符并换行;进入步骤4 ;超过,则进入步骤3 ; 步骤3、重新获得从第一个字符开始到第η个字符之间,不能超过显示区域的宽度,所能显示的最多的字符个数m ;再显示这m个字符并换行,其中m〈n ; 步骤4、偏移掉已显示的字符后,继续重复步骤1,直到这段字符的结束。
2.根据权利要求1所述的一种多行字符的显示方法,其特征在于:所述字符个数m获得的方式采用二分法、哈希查找或者二叉排序树算法获得。
3.根据权利要求1所述的一种多行字符的显示方法,其特征在于:所述字符个数m获得的方式采用二分法,所述二分法具体实现方式如下: 步骤31、标记low为要显示的第一个字符开始位置,high为最后字符的位置,刚开始,low = I,high = η ; 步骤32、获得从第low个位置开始,到第(low+high)/2个位置的字符的宽度; 步骤33、判断这个宽度是否超过显示区域的宽度,如果没超过,low = (low+high)/2 ;如果超过,high = (low+high)/2 ; 步骤34、继续重复步骤32—直到不满足条件(high-low) >1时退出这个二分法,这时获得的low值就是这行所能显示的最多的字符个数m。
【专利摘要】本发明提供一种多行字符的显示方法,该方法为:1、从要显示的这段字符的第一个开始,一直到换行符或回车符或这段字符的结束,得出要显示的这段字符的宽度;设这段字符的字符个数为n个,n为自然数;2、判断n个字符的宽度是否超过显示区域的宽度,不超过,直接显示这一行的n个字符并换行;进入4;超过,则进入3;3、重新获得从第一个字符开始到第n个字符之间,不能超过显示区域的宽度,所能显示的最多的字符个数m;再显示这m个字符并换行,其中m<n;4、偏移掉已显示的字符后,继续重复1,直到这段字符的结束。本发明运行效果高,刷新频率快,很好的提高用户界面的性能。
【IPC分类】G06F17-22
【公开号】CN104714932
【申请号】CN201510097845
【发明人】李必龙
【申请人】福建新大陆通信科技股份有限公司
【公开日】2015年6月17日
【申请日】2015年3月5日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1