我想在as3中获得radioButton的标签高度。
我的radioButton组中有5个单选按钮。其中一个radioButtons有一个三行标签,另一个有一行等......
当我尝试访问radioButton.height
时,无论标签高度如何,我总是得到相同的值。
我需要知道标签的高度,所以我可以相应地设置radioButton y坐标。
我可以更改radioButton的标签高度吗?
spacing = 30;
rb.label = tempQQString //from xml. long or short string anyone
rb.group = myGroup;
rb.value = i + 1;
rb.x = answerX;
rb.y = questionField.height + (questionY+20) + (i * spacing); // here use rb.height or rb.textField.height
trace("rb height**" + rb.height) // always get velue 22;
addChild(rb);
答案 0 :(得分:0)
RadioButton和任何扩展labelButton的fl控件(所有带有标签的控件)都会使用.textField
属性公开实际的文本字段。
因此,对于您的示例,您可以使用rb.height
来获取控件的标签部分的高度,而不是使用rb.textField.height
。
您也可以在textField上设置属性。
rb.textField.background = true;
rb.textField.backgroundColor = 0xDDDDDD;
rb.textField.multiline = true;
rb.textField.wordWrap = true;
rb.textField.autoSize = TextFieldAutoSize.LEFT;
现在,适用于您的场景,您可能最好只使用单选按钮的边界,因为它将是对象的 REAL 高度。
rb.getBounds(rb).height; //this will be the true height of the component.
如果你的标签是一行并且你的图标高于你的标签,你可能会从rb.textField.height获得一个小于单选按钮实际高度的值。
答案 1 :(得分:-1)
试试这个。
for(var i=0;i<rb.numChildren;i++){
if(rb.getChildAt(i) is TextField){
var txt:TextField = rb.getChildAt(i) as TextField;
trace(txt.height+":"+rb.height);//traces the height of text field and radio button
}
}