Flex获得htmlText里面某一个链接的区域
由于我用的是Text组件,里面并没有相关htmlText的方法,所以我立马想到了TextField,查看了之后发现有getCharBoundaries方法可以获得某一个字的矩形,于是就去找Text里面有没有,发现并不继承,于是乎,看到Text有一个保护的属性textField,于是我就写了:
public function get textfield():IUITextField
{
return super.textField;
}
这样就可以获得某一个字的矩形但是我希望获得的是链接
所以写了如下函数:
/**
* 获得字符串在文本中的矩形位置
*
*/
public function getCharsRect(str:String):Rectangle
{
var start:int = this.text.indexOf(str);
if(start==-1){
return null;
}
else
{
var rect:Rectangle = new Rectangle();
for(var i:int=0;i<str.length;i++){
rect = rect.union(super.textField.getCharBoundaries(start+i));
}
return rect;
}
}
这样直接输入链接的文本就能够找到它的矩形区域了,相对于本身的坐标。