Apache flex Flex:隐藏(或删除)标签文本而不更改按钮大小
我有一个标签文本长度可变的按钮。我有一个用户设置,可以打开或关闭此按钮上的标签文本 我如何实现这一点 注意:按钮的背景颜色为渐变色 我试着使用BlendMode.LAYER,没有运气 我尝试使用Button.resizeHandlerApache 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
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;移除标签时,应保持适当的尺寸。(假设您有代码来防止标签不在时调整大小)。最后,我放弃了按钮本身的工作。我扩展了一块画布,放了两个按钮来模拟我需要的东西。