2011-02-26 2 views
6

Come disabilitare il rollover, selezionare i colori di messa a fuoco & in un elenco? Ho provato impostandole a "{null}", ma che fa solo li nera:come disabilitare i colori di selezione e rollover in un elenco?

<s:Application 
xmlns:fx="http://ns.adobe.com/mxml/2009" 
xmlns:s="library://ns.adobe.com/flex/spark" 
width="100%" height="100%" 
backgroundColor="white" 
> 

<fx:Declarations> 
    <s:ArrayCollection id="myArray"> 
     <fx:String>Item 0</fx:String> 
     <fx:String>Item 1</fx:String> 
     <fx:String>Item 2</fx:String> 
     <fx:String>Item 3</fx:String> 
     <fx:String>Item 4</fx:String> 
    </s:ArrayCollection> 
</fx:Declarations> 

<s:VGroup horizontalAlign="center"> 

    <s:List dataProvider="{myArray}" width="200" height="200" 
      focusColor="{null}" selectionColor="{null}" 
      rollOverColor="{null}" 
      > 
     <s:itemRenderer> 
      <fx:Component> 
       <s:ItemRenderer> 
        <s:states> 
         <s:State name="normal" /> 
         <s:State name="hovered" /> 
         <s:State name="selected" /> 
        </s:states> 



        <s:Label text="{data}" width="100%" left="5" top="7" bottom="5" /> 
       </s:ItemRenderer> 
      </fx:Component> 
     </s:itemRenderer> 
    </s:List> 

</s:VGroup> 
</s:Application> 

risposta

14

provare a impostare proprietà autoDrawBackground nel itemRenderer su false.

<s:itemRenderer > 
      <fx:Component> 
       <s:ItemRenderer autoDrawBackground="false"> 
        <s:states> 
         <s:State name="normal" /> 
         <s:State name="hovered" /> 
         <s:State name="selected" /> 
        </s:states> 

        <s:Label text="{data}" width="100%" left="5" top="7" bottom="5" /> 
       </s:ItemRenderer> 
      </fx:Component> 
     </s:itemRenderer> 
1

Sulla base di this sono arrivato fino a questo:

<s:itemRenderer> 
<fx:Component> 
    <s:ItemRenderer> 
     <fx:Script> 
     <![CDATA[ 
     override protected function get hovered():Boolean { return false; } 
     override protected function get down():Boolean { return false; } 
     override public function get selected():Boolean { return false; } 
     override public function get showsCaret():Boolean { return false; } 
     ]]> 
     </fx:Script> 
     <s:Label text="{data}" width="100%" /> 
    </s:ItemRenderer> 
</fx:Component> 
</s:itemRenderer> 

Esso consente ancora per lo stile alternatingItemColors, e anche disabilita i selected, hover e down colori.

Problemi correlati