读书人

组件重写-TextArea

发布时间: 2012-10-07 17:28:51 作者: rapoo

组件重写---TextArea

MyTextArea.as

?

package myComponents{//Flex组件TextArea 的静态大小为100 像素宽,44 像素高,而不管它所包含的文本什么样。//如果文本比TextArea 控件大,控件就显示滚动条。//在下面的例子中,重载了TextArea 控件的measure()方法,这样它就能够检测传递给控件的文本,//以及计算TextArea 控件的缺省大小,以使它能在一行中显示整个文本字符串.import mx.controls.TextArea;import flash.text.TextLineMetrics;public class MyTextArea extends TextArea{public function MyTextArea(){super();}override protected function measure():void {super.measure();var lineMetrics:TextLineMetrics = measureText(text);//默认大小和默认最小大小为原有宽度加10像素measuredWidth = measuredMinWidth = lineMetrics.width + 10;measuredHeight = measuredMinHeight = lineMetrics.height + 10;}}}
?

?

MyTextAreaDemo.mxml

?

<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"    xmlns:s="library://ns.adobe.com/flex/spark"    xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:myComponents="myComponents.*"><s:layout><s:BasicLayout/></s:layout><fx:Declarations><!-- 将非可视元素(例如服务、值对象)放在此处 --></fx:Declarations><myComponents:MyTextArea x="325" y="203" text="这些方法,然后在设置icon属性后又执行一次这些方法.程序更改字体大小的执行速度大大快于Flex 更新应用的速度,"/></s:Application>
?

?

?

重写效果:

组件重写-TextArea

?

读书人网 >Web前端

热点推荐