0

これは黒いボーダーです:

ここに画像の説明を入力してください

これが私のコードです:

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

だから私は何ができますか、ありがとう

4

1 に答える 1

2

黒い境界線は、リストでキーボード ナビゲーションを使用するときに変化する選択インジケーターです。モバイル アプリケーションでそれを気にする必要があるかどうかはわかりませんが、デバイスにも表示されるのでしょうか?

いずれの場合でも、 のautoDrawBackgroundプロパティを使用して、レンダラーで背景/境界線を自動的に描画するデフォルトの機能を無効にすることができますItemRendererItemRenderer ドキュメントはこちら...

アイテム レンダラーを宣言する行で、これを試してください。

<s:ItemRenderer autoDrawBackground="false">

それでも背景を描画したい場合は、いくつかの単純なビュー ステートをレンダラーに追加できます。

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

余談ですが、Adobe は、モバイル アプリの代わりにLabelItemRendererorを使用することを推奨しています。それらはモバイル用に最適化されていますが、それらを拡張して派手なことを行うには Actionscript を作成する必要があるという点で柔軟性がありません。通常の使用は、単純なユースケースではおそらく大したことではありません:)IconItemRendererItemRendererItemRenderer

于 2012-04-25T04:59:08.117 に答える