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

字符串所占现实宽度

2012-10-26 
字符串所占实际宽度??????? 在很多自定义的组件中需要动态的计算字符串的实际宽度,如果字符串都是汉字那么

字符串所占实际宽度

??????? 在很多自定义的组件中需要动态的计算字符串的实际宽度,如果字符串都是汉字那么可以利用String.length*汉字大小,但是在实际的应用中中英文相结合是很常见的事情。

??????? 案例如下:

???????

?

?? TileList 的数据源是动态的,因此每行显示的列数也是动态的,这就需要动态的计算columnWidth,

?? columnWidth=字符串所占最大实际宽度+其他组件的宽度。

?? 笔者第一次计算的时候就犯了一个错误,首先计算出字符串所占得字节数,一个汉字占2个字节,然后总的字节数*字体大小。

?? 计算一个字符串所占的字节数长度如下:

??

?

?

有关详细信息请自己参考API.

measureText(字符串)方法返回TextLineMetrics的实例,TextLineMetrics类的width返回字符串所占的实际宽度,Flex的显示组件一般都继承自UIComponent组件,UIComponent类含有measureText方法,因此可以直接使用this.measureText(字符串).

?

?

var maxStrLength:int=0;//最大宽度for(var i:int=0;i<ac.length;i++){var item:Object=ac.getItemAt(i);item.name= item[param.name];var objLen:int=this.measureText(item.name).width;    if(objLen>maxStrLength){maxStrLength=objLen;}if(isFirst){item.sel=false;}ac.setItemAt(item,i);}

?

?

热点排行