Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex Flex:隐藏(或删除)标签文本而不更改按钮大小_Apache Flex_Text_Button - Fatal编程技术网

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

Apache flex Flex:隐藏(或删除)标签文本而不更改按钮大小,apache-flex,text,button,Apache Flex,Text,Button,我有一个标签文本长度可变的按钮。我有一个用户设置,可以打开或关闭此按钮上的标签文本 我如何实现这一点 注意:按钮的背景颜色为渐变色 我试着使用BlendMode.LAYER,没有运气 我尝试使用Button.resizeHandler private function resizeHandler(event:ResizeEvent):void { if (event.oldWidth > this.width) this.width

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

我如何实现这一点

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

我试着使用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时,它才起作用


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

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


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

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

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


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

我希望具有不同文本的按钮具有不同的宽度,因此无法获得宽度。@Peter Lee:那么,您想要什么行为?如果您不想指定固定的按钮宽度,我只考虑适合您需要的行为:将按钮增加到最长的文本,但决不缩小。。。或者允许文本在按钮内换行。除了将宽度固定为大尺寸外,不清楚您实际希望该按钮做什么。@Peter Lee查看getExplicitOrMeasuredHeight()和getExplicitOrMeasuredWidth()方法或measuredWidth/measuredHeight。如果在按钮上显示标签时将宽度和高度分别设置为measuredWidth和measuredHeight;移除标签时,应保持适当的尺寸。(假设您有代码来防止标签不在时调整大小)。最后,我放弃了按钮本身的工作。我扩展了一块画布,放了两个按钮来模拟我需要的东西。