【问题标题】:Text width on an alert box in FlexFlex中警报框上的文本宽度
【发布时间】:2015-08-24 20:54:59
【问题描述】:

我在 flex 中有一个警告框,如下所示:

我想增加警报中文本的宽度,使其看起来更干净。 “更新”字应该在同一行而不是新行。我尝试过使用样式标签

<mx:Style>
.alertMessage {
        letterSpacing: 0;
        fontSize: 10;
        fontWeight: normal;
        color: black;
}

</mx:Style>

但它似乎不起作用。当我使用 a.width = 400 时,它只是增加了警告框的大小,但文本仍然与图像中显示的一样。

代码:

var a:Alert = Alert.show(message,"Results");
a.mx_internal::alertForm.mx_internal::textField.htmlText = message;

【问题讨论】:

  • 增加警告框的宽度和文本的直接父级
  • 文本的直接父级?你能举个例子吗?
  • 能否提供当前的警告框html代码?
  • 警告框使用所有默认属性。我正在使用类似 link 的东西@不知道警报框从哪里提取其属性。
  • 这是 Flash 页面,所以右键单击并检查元素在这里不是一个选项。

标签: html actionscript-3 apache-flex mxml


【解决方案1】:

这可能是一个肮脏的解决方案......但无论如何我通过将长字符设置为标题来解决它。宽度由标题或 AlertForm 确定。
所以,我将半空格字符添加到“结果”的末尾。

这是我的代码

var msg: String = "Splits:(Success: 1 requests; 0 added; 0 updated)\nDividends:(success: 1 requests; 0 added; 1 updated)";
var arr: Array = msg.split("\n");
var maxLength:int = 0;
for (var i:int=0; i<arr.length; i++){
    if (arr[i].toString().length > maxLength){
        maxLength = arr[i].toString().length;
    }
}
var title: String = "Results";
// the 7 is length of "Results".
for (var j:int=0; j<maxLength-7; j++){
    // Add half space characters.
    title+=" ";
}

Alert.show(msg, title);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    相关资源
    最近更新 更多