DataGrid透明显示背景图片,及表头透明
发布时间:2020-12-15 01:15:39 所属栏目:百科 来源:网络整理
导读:?今天有人问我flex中怎样向DataGrid添加背景图片,以及怎样使表格透明。 ?? 其实这个查下文档就知道,可以如下用setStyle设置: dataGrid.setStyle( ' backgroundAlpha ' ,alpha) ?? ??? 但是,没多久又告诉我,表头并不透明,看不到后面的背景图片,查了下a
?今天有人问我flex中怎样向DataGrid添加背景图片,以及怎样使表格透明。
?? 其实这个查下文档就知道,可以如下用setStyle设置:
dataGrid.setStyle(
'
backgroundAlpha
'
,alpha)
??
??? 但是,没多久又告诉我,表头并不透明,看不到后面的背景图片,查了下api,简单继承下DataGrid,重写drawHeaderBackground方法就行,如:
override?
protected
?function?drawHeaderBackground(headerBG:UIComponent):
void
? { ???//透明参数 ???headerBG.alpha?=?_headerAlpha; ??//是否可见 ???headerBG.visible?=?_headerVisible; ??? ???super.drawHeaderBackground(headerBG); ?} 效果如下: 1,未处理的DataGrid,表格不透明 2,处理DataGrid后 测试效果可以点击: http://www.munkiihouse.com/flexapps/StyleDataGrid/StyleDataGridDemo.html 代码: 1、继承于DataGrid:
package
?com.mh.components
{ ?import?mx.controls.DataGrid; ?import?mx.core.UIComponent; ?public?class?StyleDataGrid?extends?DataGrid ?{ ?? ??private?var?_headerBGAlpha:Number?=?1;?? ??public?function?set?headerBGAlpha(value:Number):void ??{ ???_headerBGAlpha?=?value; ???invalidateDisplayList(); ??} ?? ??private?var?_headerBGVisible:Boolean?=?true;?? ??public?function?set?headerBGVisible(value:Boolean):void ??{ ???_headerBGVisible?=?value; ???invalidateDisplayList(); ??} 2、测试用例:
<?
xml?version="1.0"?encoding="utf-8"
?>
< mx:Application? xmlns:mx ="http://www.adobe.com/2006/mxml" ?layout ="absolute" ?xmlns:mhc ="com.mh.components.*" ?backgroundColor ="#FF8000" ?backgroundGradientColors ="[#ff8040,?#e14900]" > ? ? < mx:Panel? x ="10" ?y ="10" ?width ="550" ?height ="500" ?layout ="absolute" ?title ="Albums" ?paddingBottom ="10" ?paddingLeft ="10" ?paddingRight ="10" ?paddingTop ="10" ?backgroundImage ="@Embed('bg.jpg')" > ?? < mhc:StyleDataGrid? id ="sdg_albums" ?dataProvider ="{Catalog.cataglog}" ?left ="10" ?right ="10" ?top ="10" ?bottom ="10" > ?? ??? < mhc:columns > ???? < mx:DataGridColumn? dataField ="ARTIST" ?headerText ="Artist" ?width ="200" ? /> ???? < mx:DataGridColumn? dataField ="TITLE" ?headerText ="Title" ? /> ???? < mx:DataGridColumn? dataField ="YEAR" ?headerText ="Year" ?width ="60" ? /> ??? </ mhc:columns > ?? ?? </ mhc:StyleDataGrid > ? </ mx:Panel > ? ? ? < mx:Panel? x ="568" ?y ="10" ?width ="300" ?height ="200" ?layout ="vertical" ?title ="Controls" ?paddingTop ="10" ?paddingRight ="10" ?paddingBottom ="10" ?paddingLeft ="10" > ?? < mx:FormItem? label ="Header?Alpha:" ??width ="100%" ?labelWidth ="120" > ??? < mx:HSlider? id ="hs_h_alpha" ?value ="1" ?minimum ="0" ?maximum ="1" ?snapInterval ="0.1" ?allowTrackClick ="true" ?change ="{sdg_albums.headerBGAlpha?=?hs_h_alpha.value}" ?width ="100" /> ??? ?? </ mx:FormItem > ?? ?? < mx:FormItem? label ="Header?Visable:" ??labelWidth ="120" > ??? < mx:CheckBox? id ="cb_visible" ?label ="Visable" ?selected ="true" ?change ="{sdg_albums.headerBGVisible?=?cb_visible.selected}" /> ????? ?? </ mx:FormItem > ?? < mx:FormItem? label ="Background?Alpha:" ??width ="100%" ?labelWidth ="120" > ??? < mx:HSlider? id ="hs_bg_alpha" ?value ="0.5" ?minimum ="0" ?maximum ="1" ?snapInterval ="0.1" ?allowTrackClick ="true" ?change ="{sdg_albums.setStyle('backgroundAlpha',hs_bg_alpha.value)}" ?width ="100" /> ??? ?? </ mx:FormItem > ? </ mx:Panel > ? </ mx:Application > 3、测试数据:
package
{ ?public?class?Catalog ?{ ?? ??public?static?function?get?cataglog():XMLList ??{ ???return?catalog..CD; ??} ?? ??private?static?var?catalog:XML?=? < CATALOG > ????? < CD > ??????? < TITLE > Empire?Burlesque </ TITLE > ??????? < ARTIST > Bob?Dylan </ ARTIST > ??????? < COUNTRY > USA </ COUNTRY > ??????? < COMPANY > Columbia </ COMPANY > ??????? < PRICE > 10.90 </ PRICE > ??????? < YEAR > 1985 </ YEAR > ????? </ CD > ????? < CD > ??????? < TITLE > Hide?your?heart </ TITLE > ??????? < ARTIST > Bonnie?Tylor </ ARTIST > ??????? < COUNTRY > UK </ COUNTRY > ??????? < COMPANY > CBS?Records </ COMPANY > ??????? < PRICE > 9.90 </ PRICE > ??????? < YEAR > 1988 </ YEAR > ????? </ CD > ????? < CD > ??????? < TITLE > Greatest?Hits </ TITLE > ??????? < ARTIST > Dolly?Parton </ ARTIST > ??????? < COUNTRY > USA </ COUNTRY > ??????? < COMPANY > RCA </ COMPANY > ??????? < PRICE > 9.90 </ PRICE > ??????? < YEAR > 1982 </ YEAR > ????? </ CD > ????? < CD > ??????? < TITLE > Romanza </ TITLE > ??????? < ARTIST > Andrea?Bocelli </ ARTIST > ??????? < COUNTRY > EU </ COUNTRY > ??????? < COMPANY > Polydor </ COMPANY > ??????? < PRICE > 10.80 </ PRICE > ??????? < YEAR > 1996 </ YEAR > ????? </ CD > ????? < CD > ??????? < TITLE > When?a?man?loves?a?woman </ TITLE > ??????? < ARTIST > Percy?Sledge </ ARTIST > ??????? < COUNTRY > USA </ COUNTRY > ??????? < COMPANY > Atlantic </ COMPANY > ??????? < PRICE > 8.70 </ PRICE > ??????? < YEAR > 1987 </ YEAR > ????? </ CD > ????? < CD > ??????? < TITLE > Black?angel </ TITLE > ??????? < ARTIST > Savage?Rose </ ARTIST > ??????? < COUNTRY > EU </ COUNTRY > ??????? < COMPANY > Mega </ COMPANY > ??????? < PRICE > 10.90 </ PRICE > ??????? < YEAR > 1995 </ YEAR > ????? </ CD > ????? < CD > ??????? < TITLE > 1999?Grammy?Nominees </ TITLE > ??????? < ARTIST > Many </ ARTIST > ??????? < COUNTRY > USA </ COUNTRY > ??????? < COMPANY > Grammy </ COMPANY > ??????? < PRICE > 10.20 </ PRICE > ??????? < YEAR > 1999 </ YEAR > ????? </ CD > ????? < CD > ??????? < TITLE > For?the?good?times </ TITLE > ??????? < ARTIST > Kenny?Rogers </ ARTIST > ??????? < COUNTRY > UK </ COUNTRY > ??????? < COMPANY > Mucik?Master </ COMPANY > ??????? < PRICE > 8.70 </ PRICE > ??????? < YEAR > 1995 </ YEAR > ????? </ CD > ????? < CD > ??????? < TITLE > Big?Willie?style </ TITLE > ??????? < ARTIST > Will?Smith </ ARTIST > ??????? < COUNTRY > USA </ COUNTRY > ??????? < COMPANY > Columbia </ COMPANY > ??????? < PRICE > 9.90 </ PRICE > ??????? < YEAR > 1997 </ YEAR > ????? </ CD > ????? < CD > ??????? < TITLE > Tupelo?Honey </ TITLE > ??????? < ARTIST > Van?Morrison </ ARTIST > ??????? < COUNTRY > UK </ COUNTRY > ??????? < COMPANY > Polydor </ COMPANY > ??????? < PRICE > 8.20 </ PRICE > ??????? < YEAR > 1971 </ YEAR > ????? </ CD > ??? </ CATALOG > ; ?} } ? ? http://www.blogjava.net/kissjava/archive/2009/04/30/262521.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |