2011-09-19 2 views
0

레이블 사이에 간격이있는 레이블의 가로 목록을 만들려고합니다 (티커 테이프의 일부로 사용).Flex 4 (스파크)에서 기본 스타일 제거 ItemRenderer

목록 외부의 레이블은 배경이 투명하지만 ItemRenderer 또는 List의 일부로 흰색 배경을 갖습니다. 필자의 가정은 이것이 Spark ItemRenderer에 적용된 기본 스타일링의 일부라는 것입니다.

질문 - ItemRenderer에 적용된 모든 기본 시각적 스타일을 완전히 제거 할 수있는 방법이 있습니까?

protected var messages:ArrayCollection = new ArrayCollection(new Array("1", "2", "3", "etc")); 

<s:List dataProvider="{messages}" itemRenderer="SimpleTextRenderer"> 
    <s:layout > 
     <s:HorizontalLayout verticalAlign="middle" /> 
    </s:layout> 
</s:List> 

SimpleTextRenderer :

<?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" 
      xmlns:mx="library://ns.adobe.com/flex/mx" 
      autoDrawBackground="false" contentBackgroundAlpha="0" > 

    <s:Label text="{data}" /> 

</s:ItemRenderer> 
+0

실제로 스타일을 제거 할 수는 없으며 교체 만 할 수 있습니다. 그래서 가장 좋은 방법은 itemRenderers에 대한 새로운 브랜드의 새로운 스타일을 만드는 것입니다. – JeffryHouser

+0

CSS로 스타일을 생성하고 ItemRenderer의 styleName에서 스타일을 참조하는 것을 의미합니까? – Jono

+0

예; 그것이 내가 의미했던 것입니다. – JeffryHouser

답변

1

당신은 자신 만의 아이템 렌더러를 구현할 수 있습니다, 예를 들어 UIComponent (또는 라벨)를 확장하고 IItemRenderer을 구현. here으로 설명했듯이 실제로는 꽤 쉽습니다 (다른 인터페이스를 구현할 때 두 인터페이스를 모두 구현할 필요는 없습니다).

이렇게하면 유효성 검사주기를 통해 구성 요소가 렌더링되는 방식을 정확하게 관리 할 수 ​​있기 때문에 스타일 및 내용을 제거 할 수 있습니다.

관련 문제