[英]Flex Text Input with icon inside like mac os x search text input
我正在嘗試擴展flex中的文本輸入以支持圖標,就像mac os x搜索文本輸入的右側對齊灰色圓圈,文本輸入具有addChild方法,但此方法不適用於我。
有辦法做到這一點嗎?
提前致謝
一個更簡單的方法是創建一個看起來像您想要的文本輸入的mxml組件。 我從未見過mac OSX搜索框,但根據您的描述,該組件基於畫布並具有白色背景,然后適當的寄宿生可以包含圖像和文本輸入而無需寄宿生。 我認為,這將為您提供您想要的外觀。
我找到了一個解決方案:D這是代碼
訣竅是覆蓋updateDisplayList。
駭客入侵。
package
{
import flash.display.DisplayObject;
import mx.controls.Image;
import mx.controls.TextInput;
import mx.core.mx_internal;
use namespace mx_internal;
public class MyTextInput extends TextInput
{
private var _image:Image;
public function MyTextInput()
{
super();
}
override protected function createChildren():void
{
super.createChildren();
_image = new Image();
_image.source = "http://sstatic.net/so/img/replies-off.png",
addChild(DisplayObject(_image));
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
this._image.width = 16;
this._image.height = 16;
this._image.x = this.width - this._image.width - 5;
this._image.y = this.height - this._image.height;
this.textField.width = this.width - this._image.width - 5;
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.