2012-03-15 11 views
0

私は灰色以外のものにすべてのスタイルを設定しようとしましたが、灰色のオーバーレイを取り除くには、「Hello item 1」のリストの添付イメージに示されています。何も働かなかった。私はListSkinクラスも調べて、これを描画するものは得られなかった。これらのオーバーレイを取り除く方法は?Flex Mobile List:レンダラータップで灰色のオーバーレイを取り除くにはどうすればいいですか?

<s:List id="list" width="100%" height="100%" 
      dataProvider="{dp}" 
      focusAlpha="0" 
      contentBackgroundAlpha="0" 
      contentBackgroundColor="0xFFFFFF" 
      selectionColor="0xFFFFFF" 
      downColor="0xFFFFFF" 
      borderVisible="false" 
      > 
</s:List> 

Flex Mobile List

答えて

1

私はちょうどこれと同じものを使用してクライアントを助けました。基本的に、LabelItemRemdererクラスを拡張して長方形を描画しないようにする必要があります。変更するスタイルや色では公開されません。このコード(LabelItemRemdererでライン853で開始)に

ルック:

// Selected and down states have a gradient overlay as well 
// as different separators colors/alphas 
if (selected || down) 
{ 
    var colors:Array = [0x000000, 0x000000 ]; 
    var alphas:Array = [.2, .1]; 
    var ratios:Array = [0, 255]; 
    var matrix:Matrix = new Matrix(); 

    // gradient overlay 
    matrix.createGradientBox(unscaledWidth, unscaledHeight, Math.PI/2, 0, 0); 
    graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, matrix); 
    graphics.drawRect(0, 0, unscaledWidth, unscaledHeight); 
    graphics.endFill(); 
} 

あなたは基本的に実行しないように、このコードを強制的にいくつかの方法が必要です。独自のitemRendererを最初から作成することでこれを行うことができます。または、LabelItemRendererを拡張し、drawBackground()メソッドをオーバーライドして、すべての親drawBackground()コードを拡張子にコピーできます。上記のブロックを引いたものです。

私は、スタイルや何かとして公開されている色を見たいと思います。オーバーレイを完全に消滅させるために使用できる魔法のプロパティ(またはスタイル)が大好きです。お気軽にthe Apache Flex Jiraにバグとして記録してください。

関連する問題