Flex:隐藏(或删除)标签文本而不更改按钮大小

时间:2010-12-21 00:37:27

标签: flex text button

我有一个带有可变长度标签文字的按钮。我有一个用户设置,可以打开或关闭此按钮上的标签文本。

我该如何实现?

注意:按钮的背景颜色为渐变颜色。

我尝试使用BlendMode.LAYER,没有运气;

我尝试使用Button.resizeHandler

    private function resizeHandler(event:ResizeEvent):void
    {
        if (event.oldWidth > this.width)
            this.width = event.oldWidth;
        if (event.oldHeight > this.height)
            this.height = event.oldHeight;
    }

但只有在初始UserSetting值为true时才有效。

嵌入字体怎么样?我不知道如何将它应用于按钮

3 个答案:

答案 0 :(得分:1)

您可以使用属性minWidth和maxWidth。 minWidth指定按钮应具有的最小宽度。和maxWidth指定按钮可以具有的最大宽度。

答案 1 :(得分:0)

如果只设置按钮的宽度会发生什么?这样,无论你设置什么标签,它都应该是一个恒定的宽度。

很可能在updateDisplayList方法中计算宽度。因此,调整大小处理程序中的代码可能会在下一个渲染事件中重置。

答案 2 :(得分:0)

您可以扩展mx.controls.Button以添加显示/隐藏标签功能。文本字段是受保护的属性,因此您只需在函数中设置可见性开/关即可。让Flex自己正确测量一切。

如果要在文本打开或关闭时增大/缩小按钮,还可以设置按钮宽度。您必须根据文本字段宽度计算宽度。