在那我有一個設計規模100%的網頁窗口Flex項目,我有一個火花列表。我有一個簡單的itemrenderer,它接收數據並顯示名稱和消息。試想一下它就像一個簡單的即時通訊顯示器。問題是,我msg_txt
標籤我想這就是父列表的寬度,這就是抱着它,給它的寬度。如何在液體佈局中的sparklist中爲itemrenderer設置標籤寬度?
我試着將horizontalScrollPolicy設置爲off,同時嘗試了width =「{this.parent.parent.width}」(以及this.parent.width)來渲染項目渲染器中的spark標籤。
,並在標籤中我嘗試了一些東西像左=「0」右=「0」 maxWidth =「{this.width}」,但沒有確實的伎倆。
我怎樣才能讓這個標籤有列表的最大寬度多數民衆贊成拿着它,並確保它會調整如果瀏覽器的變化和列表尺寸的大小而變化?
繼承人的名單:
<s:List id="chat_content" width="100%" height="100%"
alternatingItemColors="[#EEEEEE,#E6E6E6]" contentBackgroundColor="#EEEEEE"
horizontalScrollPolicy="off" itemRenderer="renderers.ActiveChatItemRenderer">
</s:List>
繼承人的itemRenderer:
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
import mx.core.FlexGlobals;
import mx.events.FlexEvent;
import spark.components.List;
override public function set data(value:Object):void {
super.data = value;
if (data == null)
return;
if(data.systemMsg)
{
}
if(data.name)
{
name_label.text=data.name;
}
if(data.icon)
{
}
if(data.msg)
{
msg_txt.text=data.msg;
}
}
]]>
</fx:Script>
<s:states>
<s:State name="normal" />
<s:State name="hovered" />
<s:State name="selected" />
</s:states>
<s:HGroup id="container" horizontalAlign="left" verticalAlign="top" paddingTop="10" paddingBottom="10">
<s:VGroup horizontalAlign="center" verticalAlign="middle"
width="100">
<s:Label id="name_label" fontWeight="bold" text="Name: "
fontSize="18"/>
</s:VGroup>
<s:Label id="msg_txt" text="msg text here" width="{this.parent.parent.width}"/>
</s:HGroup>
</s:ItemRenderer>
就是這樣!謝謝! (在的ItemRenderer聲明將WIDTH = 「100%」 HEIGHT = 「100%」) – brybam
我不知道爲什麼這個工程。確定孩子的大小總是由父母決定;在這種情況下,List會對渲染器進行尺寸調整。我認爲itemRenderer的大小始終是List類寬度的100%。 (減號滾動條,填充和其他類似的值) – JeffryHouser