gpt4 book ai didi

apache-flex - Adobe Flex : Word Wrap in Button Label

转载 作者:行者123 更新时间:2023-12-04 03:19:44 24 4
gpt4 key购买 nike

标准的 Flex 按钮不允许标签文本自动换行。我在互联网上读到有一些未记录的方法来处理这个问题,但我没有让它们起作用。如果有人可以给我发一个小例子,那就太好了!

最佳答案

本质上,您需要在 Button 的 TextField 控件(multiLine 和 wordWrap)上设置一些 protected 属性,如果不扩展 Button 类就无法做到这一点。因此,如果您创建一个新类来扩展 Button 并设置这些属性并做一些工作以使事情正确测量:

package
{
import flash.text.TextFieldAutoSize;
import mx.controls.Button;

public class WrappingButton extends Button
{


public function WrappingButton()
{
super();
}

override protected function createChildren():void
{
super.createChildren();

textField.multiline = true;
textField.wordWrap = true;
textField.autoSize = TextFieldAutoSize.CENTER;
}

override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
textField.y = (this.height - textField.height) >> 1;

height = textField.height + getStyle("paddingTop") + getStyle("paddingBottom");
}
}
}

...您可以将该控件放入您的 MXML 中,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*">

<local:WrappingButton label="The quick brown fox jumped over the lazy dog." width="100" paddingTop="10" paddingBottom="10" />

</mx:Application>

希望能帮助到你!如果您有问题,请回帖。

关于apache-flex - Adobe Flex : Word Wrap in Button Label,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1654403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com