我想在spark TextInput控件中添加搜索图标。有没有办法扩展TextInput控件并向其添加子项。
由于
答案 0 :(得分:5)
你不应该扩展TextInput
本身。 Spark架构的主要功能是剥皮可能性。您可以根据标准TextInputSkin
创建自己的皮肤,并在那里放置图标。我认为不会有任何问题。
答案 1 :(得分:3)
我遇到了想要在Spark TextInput中获取搜索图标的相同问题。复制现有的火花皮肤并添加图标非常简单。方法如下:
皮肤文件中的最后一部分是<!-- text -->
。在本节之后,为<!-- search icon -->
创建一个包含以下内容的新部分(注意:这将是皮肤中的最后一部分):
<s:Image id="iconDisplay" source="@Embed('path/to/image/file/MY_SEARCH_IMAGE.png')"
mouseEnabled="false" mouseChildren="false"
visible.normal="false" visible.normalWithPrompt="true"/>
修改文件中较早出现的排除数组,使其显示如下(注意:文件中已存在以下代码,只需向其添加iconDisplay
):
/* Define the skin elements that should not be colorized. */
static private const exclusions:Array = ["background", "textDisplay", "promptDisplay", "iconDisplay", "border"];
/* exclusions before Flex 4.5 for backwards-compatibility purposes */
static private const exclusions_4_0:Array = ["background", "textDisplay", "promptDisplay", "iconDisplay",];
转到具有TextInput组件的应用程序代码,并使用以下链接将其链接到皮肤:<s:TextInput ... skinClass="path.to.skins.TextInputSkinWithPromptIcon" prompt=" "/>