如何使用 Flex 更改 TileList 所选项目的样式?

发布于 2024-08-22 15:12:56 字数 55 浏览 1 评论 0原文

我的 TileList 包含一些文本框。如果选择了文本颜色,我想更改它。 请任何人帮助我..谢谢

My TileList Contain some text Boxes. i want to change the text color if it's selected.
Please any one help me.. Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傲性难收 2024-08-29 15:12:56

测试一下,这应该可以解决问题。有一个自定义渲染器显示如何查看是否选择了某个项目。

<?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>

最好的,

Test this out, this should solve the issue. There's a custom renderer showing how to see if an item is selected.

<?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>

Best,
Lance

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文