(flex mobile)当我按左或右键盘时,如何隐藏列表中的黑色边框

时间:2012-04-25 02:25:13

标签: flex mobile flex4 border

这是黑色边框:

enter image description here

这是我的代码:

    <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>

所以我该怎么办,谢谢

1 个答案:

答案 0 :(得分:2)

黑色边框是在列表中使用键盘导航时正在更改的选择指示器。我不确定您是否需要在移动应用程序中担心这一点,但也许它也出现在设备上?

在任何情况下,您都可以使用autoDrawBackground的{​​{1}}属性禁用自动在渲染器上绘制背景/边框的默认功能。 ItemRenderer docs here ...

在您声明项呈示器的行上尝试此操作:

ItemRenderer

如果您仍想要绘制背景,可以向渲染器添加一些简单的视图状态:

<s:ItemRenderer autoDrawBackground="false">

另外,Adobe建议您使用LabelItemRendererIconItemRenderer代替 <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可能不是什么大问题:)