Flex 4中如何设置Halo DataGrid头部为图片背景的例子

By Minidxer | November 2, 2009

接下来的例子演示了Flex 4中如何通过headerBackgroundSkin样式,设置Halo DataGrid头部为图片背景。

让我们先来看一下Demo可以点击这里察看源代码):


下面是完整代码(或点击这里察看):
下面是main.mxml:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:Application name="Halo_DataGrid_headerBackgroundSkin_test"
  3.         xmlns:fx="http://ns.adobe.com/mxml/2009"
  4.         xmlns:s="library://ns.adobe.com/flex/spark"
  5.         xmlns:mx="library://ns.adobe.com/flex/halo">
  6.  
  7.     <mx:DataGrid id="dataGrid"
  8.             dataProvider="{Font.enumerateFonts(true)}"
  9.             headerBackgroundSkin="skins.CustomDataGridHeaderBackgroundSkin"
  10.             horizontalCenter="0" verticalCenter="0" />
  11.  
  12. </s:Application>

下面为skins/CustomDataGridHeaderBackgroundSkin.mxml的代码:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:SparkSkin name="CustomDataGridHeaderBackgroundSkin"
  3.         xmlns:fx="http://ns.adobe.com/mxml/2009"
  4.         xmlns:s="library://ns.adobe.com/flex/spark"
  5.         minWidth="21" minHeight="19">
  6.  
  7.     <!-- layer 1: fill -->
  8.     <s:Rect left="0" right="0" top="0" bottom="0" alpha="0.6">
  9.         <s:fill>
  10.             <s:BitmapFill source="@Embed('assets/pattern_149.gif')" />
  11.         </s:fill>
  12.     </s:Rect>
  13.  
  14.     <!-- layer 2: fill lowlight -->
  15.     <s:Rect left="0" right="0" bottom="0" height="9">
  16.         <s:fill>
  17.             <s:LinearGradient rotation="90">
  18.                 <s:GradientEntry color="black" alpha="0.0099" />
  19.                 <s:GradientEntry color="black" alpha="0.0627" />
  20.             </s:LinearGradient>
  21.         </s:fill>
  22.     </s:Rect>
  23.  
  24.     <!-- layer 3: fill highlight -->
  25.     <s:Rect left="0" right="0" top="0" height="9">
  26.         <s:fill>
  27.             <s:SolidColor color="white" alpha="0.33" />
  28.         </s:fill>
  29.     </s:Rect>
  30.  
  31.     <!-- layer 4: border - put on top of the fill so it doesn't disappear when scale is less than 1 -->
  32.     <s:Rect left="0" right="0" bottom="0" height="1">
  33.         <s:fill>
  34.             <s:SolidColor color="#696969" />
  35.         </s:fill>
  36.     </s:Rect>
  37.  
  38. </s:SparkSkin>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: DataGrid, Gumbo | 1 Comment » | Tags: ,

Search Posts