这是黑色边框:
这是我的代码:
<s:List id="channelsPart" left="120" right="80" top="50" change="onChannelsChange(event)"
dataProvider="{channels=new ArrayList(data.cloud.channels)}" labelField="title"
requireSelection="true"
fontFamily="TwinCen"
fontSize="24"
alternatingItemColors="[]"
borderVisible="false"
contentBackgroundAlpha="0"
selectionColor="0"
>
<s:itemRenderer >
<fx:Component>
<s:ItemRenderer>
<fx:Script>
<![CDATA[
import mx.core.UIComponent;
override public function set data(value:Object):void {
//sn.text = String(itemIndex+1);
txt.text = String(value.title);
//txt.label = String(value.title);
}
]]>
</fx:Script>
<!-- <s:BitmapImage source="assets/sohupp-login-btn-login.png" width="70" height="30" scaleMode="stretch" /> -->
<s:Label id="txt" width="70" height="30" verticalAlign="middle" textAlign="center" backgroundAlpha="0" />
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
所以我该怎么办,谢谢
答案 0 :(得分:2)
黑色边框是在列表中使用键盘导航时正在更改的选择指示器。我不确定您是否需要在移动应用程序中担心这一点,但也许它也出现在设备上?
在任何情况下,您都可以使用autoDrawBackground
的{{1}}属性禁用自动在渲染器上绘制背景/边框的默认功能。 ItemRenderer docs here ...
在您声明项呈示器的行上尝试此操作:
ItemRenderer
如果您仍想要绘制背景,可以向渲染器添加一些简单的视图状态:
<s:ItemRenderer autoDrawBackground="false">
另外,Adobe建议您使用LabelItemRenderer
或IconItemRenderer
代替 <s:itemRenderer>
<fx:Component>
<s:ItemRenderer autoDrawBackground="false">
<fx:Script>
<![CDATA[
import mx.core.UIComponent;
override public function set data(value:Object):void {
txt.text = String(value.title);
}
]]>
</fx:Script>
<s:states>
<s:State name="normal"/>
<s:State name="selected"/>
</s:states>
<s:Rect includeIn="selected" top="0" left="0" right="0" bottom="0">
<s:fill>
<s:SolidColor color="#FF0000" alpha=".25"/>
</s:fill>
</s:Rect>
<s:Label id="txt" width="70" height="30" verticalAlign="middle" textAlign="center" backgroundAlpha="0" />
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
移动应用。它们针对移动设备进行了优化,但并不灵活,因为您必须编写一些Actionscript来扩展它们并做一些奇特的事情。在简单的用例中使用常规ItemRenderer
可能不是什么大问题:)