[英]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.