2012-11-28 40 views
1

我正在開發具有RichText組件的iPad應用程序。他們在目標設備上工作正常。但是,子彈看起來不如恆星。具體而言,我需要增加項目符號和列表項之間的空間。它太接近了,看起來不太好,設計人員也不滿意。Flex中的RichText項目符號樣式

代碼的工作方式是我們有一個XML文件被讀入,屏幕的內容從該文件​​填充。例如,下面是一個測試名單上有:

<section id="outro"> 
    <element id="outro"> 
     <copy id="OutroTestCopy" x="50" y="75" width="1200"><![CDATA[ 
      <p fontSize="55" color="#cf7028">List to display</p> 
      <list fontSize="50" fontWeight="bold" paddingLeft="20"> 
       <listMarkerFormat><ListMarkerFormat paddingRight="300" fontSize="50" fontWeight="bold" afterContent="&nbsp; " /></listMarkerFormat> 
       <li>List Reference*<span baselineShift="superscript" alignmentBaseline="ideographicBottom">12</span></li> 
       <li>List Corp<span baselineShift="superscript" alignmentBaseline="ideographicBottom">®</span></li> 
       <li>List item</li> 
       <li>Second list reference<span baselineShift="superscript" alignmentBaseline="ideographicBottom">2</span></li> 
      </list> 
     ]]></copy>   
     <footnote><![CDATA[Test footnote]]></footnote> 
    </element> 
</section> 

我的ActionScript代碼需要上面的複製件,並運行它通過TextFlow的進口。我這樣做並不是在XML文件中使用實際的TextFlow,因爲具有XML/HTML體驗的非程序員將編輯此文件,並且我希望儘可能使標記儘可能接近HTML,而不是訓練它們執行正確的TextFlow:

copyRichText.textFlow = spark.utils.TextFlowUtil.importFromString(copy); 

這運行良好,我得到我的項目符號列表,上標和花哨字符(見下文)。但是,我無法更改項目符號和列表項目文本之間的間距。我只是想在ListMarker和列表項之間留出更多的空間。現在他們離得太近,看起來很緊張,而設計人員卻讓我感到悲傷。我已經嘗試了(如你所見)一些填充和afterContent類型屬性來使它起作用,但它們什麼都不做。這是上述的結果,以供參考:

Output of this code

編輯補充: 中的TextFlow我以前使用這些資源列表:

+0

沒有試過,但也許[ListMarkerFormat](http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flashx/textLayout/formats/ ListMarkerFormat.html)在這裏可能很有用。請參閱http://help.adobe.com/en_US/flex/using/WS19f279b149e7481c7fdc883d12de39353f1-8000.html的底部部分 – RIAstar

回答

0

使用beforeContent屬性添加空格:

<s:list id="myList" paddingLeft="10" listStylePosition="inside"> 
     <s:listMarkerFormat> 
      <!-- Note that this example inserts an empty string with &quote; HTML entities. --> 
      <s:ListMarkerFormat 
       beforeContent=" " 
       content="counters(ordered,&quot;&quot;,upperRoman)" 
       afterContent=": "/> 
     </s:listMarkerFormat> 
     <s:li>Beginning</s:li> 
     <s:li>Middle</s:li> 
     <s:li>End</s:li> 
    </s:list> 

參考