我的TileList包含一些文本框。我想更改文本颜色,如果它被选中。 请任何人帮助我..谢谢
答案 0 :(得分:2)
测试一下,这应该可以解决问题。有一个自定义渲染器显示如何选择项目。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:TileList id="tileList">
<mx:dataProvider>
<mx:ArrayCollection>
<mx:Object text="one text"/>
<mx:Object text="two text"/>
<mx:Object text="three text"/>
</mx:ArrayCollection>
</mx:dataProvider>
<mx:itemRenderer>
<mx:Component>
<mx:Canvas horizontalScrollPolicy="off" verticalScrollPolicy="off"
updateComplete="updateTextColor()">
<mx:Script>
<![CDATA[
import mx.controls.TileList;
public var selectedColor:uint = 0xff0000;
public var normalColor:uint = 0xaaaaaa;
protected function updateTextColor():void
{
var selected:Boolean = TileList(this.owner).isItemSelected(this.data);
var color:uint = selected ? selectedColor : normalColor;
textArea.setStyle('color', color);
}
]]>
</mx:Script>
<mx:TextArea id="textArea"
text="{data.text}"/>
</mx:Canvas>
</mx:Component>
</mx:itemRenderer>
</mx:TileList>
</mx:Application>
最佳, 兰斯