如何禁用翻转,选择&将焦点聚焦在列表中?我尝试将它们设置为“{null}”,但这只会使它们变黑:
<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>
答案 0 :(得分:14)
尝试将itemRenderer中的autoDrawBackground属性设置为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 :(得分:2)
基于this,我提出了这个问题:
<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>
它仍然允许alternatingItemColors
样式,并且还会停用selected
,hover
和down
颜色。