簡體   English   中英

在flex列表中的標簽上添加顏色

[英]Add color to label on list in flex

我對如何獲取感到困惑..所以當有人加入時我有一個用戶列表,將他們添加到列表(他們的用戶名)中,我有辦法找出他們是否是管理員,我只需要知道我能更改該列表中每個用戶的顏色。這是一個示例。

如果列表支持HTML,則可以正常工作

onlineUsers.addItem({label:"<font color='$ffffff'>users[i].userName+"_GUEST</font>",id:users[i].userID,guest:"True"});
userList.dataProvider = onlineUsers

但是列表不支持html,有人知道可以解決此問題嗎?

通常,您的答案是使用itemRenderer。

列表類所做的只是顯示其他組件(渲染器),並從dataProvider發送這些組件數據以進行顯示。 確實,您的意思是默認的itemRenderer不支持HTML。 從技術上講,您可以制作一個支持HTML的itemRenderer,以提供所需的顏色更改。 但我會有所不同。

向用戶對象添加一個屬性,該屬性具體說明它們是否是管理員用戶。 則該用戶為管理員用戶; 然后; 改變顏色。 在概念上是這樣的:

<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:mx="library://ns.adobe.com/flex/mx" 
    xmlns:s="library://ns.adobe.com/flex/spark"
    autoDrawBackground="false" dataChange="onDataChange()">

    <fx:Script>
        <![CDATA[
            public function onDataChange():void{
               labelDisplay.text = data.userName + "_Guest";
               if(data.isAdmin){
                 labelDisplay.setStyle('color',0xff0000);
               } else {
                 labelDisplay.setStyle('color',0x00FF00);
               }
            }
        ]]>
    </fx:Script>

    <s:Label id="labelDisplay" 
        /> 
</s:ItemRenderer>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM