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 我可以创建像文本字段一样包装的链接按钮吗?_Apache Flex - Fatal编程技术网

Apache flex 我可以创建像文本字段一样包装的链接按钮吗?

Apache flex 我可以创建像文本字段一样包装的链接按钮吗?,apache-flex,Apache Flex,我基本上希望通过循环链接按钮而不是创建文本字段来简化工作,因为链接按钮已经编程了滚动 但是我有很多的文字,而且一直在写。我想把它包装起来,就像我能处理文本字段一样 谢谢 package { import mx.controls.LinkButton; import flash.text.TextLineMetrics; public class multiLineLinkButton extends LinkButton { override protected functi

我基本上希望通过循环链接按钮而不是创建文本字段来简化工作,因为链接按钮已经编程了滚动

但是我有很多的文字,而且一直在写。我想把它包装起来,就像我能处理文本字段一样

谢谢

package {
 import mx.controls.LinkButton;
 import flash.text.TextLineMetrics;

 public class multiLineLinkButton extends LinkButton {
      override protected function createChildren():void {
           super.createChildren();
           if (textField){
                textField.wordWrap = true;
                textField.multiline = true;

           }
      }

      override public function measureText(s:String):TextLineMetrics {
           textField.text = s;
           var lineMetrics:TextLineMetrics = textField.getLineMetrics(0);
           lineMetrics.width = 700;
           lineMetrics.height = textField.textHeight;


           return lineMetrics;
      }
 }
}

这是组件,但就像我说的,所有东西都自动居中

我尝试了paddingLEFT=0;并尝试设置样式(“paddingLEFT”,0);但这些方法不起作用

var test:multiLineLinkButton = new multiLineLinkButton();

        test.label = "sdfdsfdsfdsfsdfsdfsdfdsfsdfdsfdsdsfdsfdsfdffsdfdsfdfdsfdsfdsfdsfdsfdsfsdfdsfdfdsfdfdsfdsfsdfsdfsdf";
        test.setStyle("textAlign","left");

        var metrics:TextLineMetrics = measureText(test.label);

        trace(metrics.height);
        myCanvas.addChild(test);
所以metrics.height给了我一个14的高度,我相信这是一条线,即使它包起来了。

这家伙做到了:


仅供参考,这是谷歌首次推出搜索词“flex linkButton word wrap”

谢谢。这就引出了另一个问题。如何利用脚本标记/ActionScriptGet it var中的组件hey:MultilineKButton=new MultilineKButton();ThanksI尝试了这段代码,它在某种程度上起了作用。由于某些原因,文本的边界大约为50像素宽。我增加了.width,但它所做的只是增加了滚动框的宽度,而不是实际的text.var lineMetrics:TextLineMetrics=textField.getLineMetrics(0);lineMetrics.width=700;lineMetrics.height=textField.textHeight;我刚刚添加了我自己的700宽度。。。但是现在我如何使它向左对齐,autosize不适用于mealignment是一种样式,因此在mxml中,它将是
textAlign=“LEFT”
,就像
setStyle(“textAlign”,“LEFT”)一样堆栈溢出提示:在注释中,您可以使用勾号(位于[1]旁边的小标记)突出显示代码,如
this
键和通常共享
~
。至少在美国键盘上是这样的。请查看Multilinekbutton类背后的代码,这将是我们计算高度问题的方式。抱歉,上面的第一段代码是Multilinekbutton。Duh,我应该看到。下面是您要做的。1)为文本字段命名。2) 编写一个公共函数,将其称为getHeight()。3) 让该函数用getchildbyname返回文本字段的高度。现在,您可以从主应用程序调用一个函数,该函数将返回您要查找的高度。因此,我在自定义组件文件中创建了一个名为getHeight的函数。“textField”不是textField的名字吗?两个不会返回文本字段。测量的高度给我高度?抱歉,我不确定如何执行此操作?组件中的textField.textHeight在首次运行时给出了不正确的高度。但是当你滚动链接时,你得到了正确的高度。。。我只是糊涂了