加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex 4 Auto-Resizeable TextArea Component

发布时间:2020-12-15 04:19:19 所属栏目:百科 来源:网络整理
导读:package cgjc.component {import flash.events.Event;import mx.controls.Alert;import mx.controls.Text;public class AdjustHeightText extends Text {public function AdjustHeightText() {super();this.addEventListener(Event.CHANGE,adjustHeightHandl
package cgjc.component {
	import flash.events.Event;

	import mx.controls.Alert;
	import mx.controls.Text;

	public class AdjustHeightText extends Text {
		public function AdjustHeightText() {
			super();
			this.addEventListener(Event.CHANGE,adjustHeightHandler);
		}

		private function adjustHeightHandler(event:Event):void {
			Alert.show("textField.getLineMetrics(0).height: " + textField.getLineMetrics(0).height + "ntextHeight:" + textField.textHeight);
			height = textField.textHeight;
			//super.verticalScrollPolicy = "on";
			if (height <= textField.textHeight + textField.getLineMetrics(0).height) {
				height = textField.textHeight;
				validateNow();
			}
		}

		//该方法是Text空间自适应文本高度的方法
		/*
		override protected function measure():void {
			super.measure();
			//Alert.show("textField.getLineMetrics(0).height: " + textField.getLineMetrics(0).height + "ntextHeight:" + textField.textHeight);
			measuredHeight = measuredMinHeight = textField.getExplicitOrMeasuredHeight();
		}
		*/

		override public function set text(val:String):void {
			textField.text = val;
			validateNow();
			height = textField.textHeight;
			validateNow();
		}

		override public function set htmlText(val:String):void {
			textField.htmlText = val;
			validateNow();
			height = textField.textHeight;
			validateNow();
		}

		override public function set height(value:Number):void {
			if (textField == null) {
				if (height <= value) {
					super.height = value;
				}
			} else {
				var currentHeight:uint = textField.textHeight + textField.getLineMetrics(0).height;
				if (currentHeight <= super.maxHeight) {
					if (textField.textHeight != textField.getLineMetrics(0).height) {
						super.height = currentHeight;
					}
				} else {
					super.height = super.maxHeight;
				}
			}
		}
	}
}
原文链接: http://www.eonflex.com/?p=398

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读