Actionscript 3 如何动态更改DataGrid的字体大小和字体系列?
我有一个Flex屏幕Actionscript 3 如何动态更改DataGrid的字体大小和字体系列?,actionscript-3,apache-flex,flex3,Actionscript 3,Apache Flex,Flex3,我有一个Flex屏幕MyData.mxml,它有一个使用数据网格的值表。DataGrid的所有样式都包含在Flex库项目的default.css文件中。这将在swc文件中转换,并在我使用MyData.mxml的Flex项目中使用 在MyData屏幕中,我们可以选择更改DataGrid的字体大小。我们有一个RadioButtonGroup,用户可以从两个选项按钮中进行选择: 普通字体(Verdana,12) 小字体(Verdana,11) 当用户选择“普通字体”按钮时,DataGrid中的所有
MyData.mxml
,它有一个使用数据网格的值表。DataGrid的所有样式都包含在Flex库项目的default.css
文件中。这将在swc文件中转换,并在我使用MyData.mxml
的Flex项目中使用
在MyData屏幕中,我们可以选择更改DataGrid的字体大小。我们有一个RadioButtonGroup,用户可以从两个选项按钮中进行选择:
- 普通字体(Verdana,12)
- 小字体(Verdana,11)
如何实现这一点?我想以下代码可以解决您的问题:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application layout="vertical" verticalAlign="middle" xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
public static const NORMAL_STYLE:String = "normal";
public static const SMALL_STYLE:String = "small";
protected function styleGroup_changeHandler(event:Event):void
{
var fontFamily:String = "Verdana";
var fontSize:int;
switch (styleGroup.selectedValue)
{
case NORMAL_STYLE:
fontSize = 12;
break;
case SMALL_STYLE:
fontSize = 11;
break;
}
dataGrid.setStyle("fontFamily", fontFamily);
dataGrid.setStyle("fontSize", fontSize);
}
]]>
</mx:Script>
<mx:ArrayCollection id="dataGridData">
<mx:source>
<mx:Array>
<mx:Object first="First1" second="Second1" />
<mx:Object first="First2" second="Second2" />
</mx:Array>
</mx:source>
</mx:ArrayCollection>
<mx:DataGrid dataProvider="{dataGridData}" height="200" id="dataGrid">
<mx:columns>
<mx:DataGridColumn dataField="first" headerText="First" />
<mx:DataGridColumn dataField="second" headerText="Second" />
</mx:columns>
</mx:DataGrid>
<mx:RadioButtonGroup change="styleGroup_changeHandler(event)" id="styleGroup" />
<mx:RadioButton group="{styleGroup}" label="Normal" value="{NORMAL_STYLE}" />
<mx:RadioButton group="{styleGroup}" label="Small" value="{SMALL_STYLE}" />
</mx:Application>
Hai朋友,感谢您的友好回复!我试过你的建议,效果很好。但是,我被要求从css文件中获取样式名称。因此,我在css文件中添加了两个样式组件,如下所示:'.dataGridNormal'和'.dataGridSmall',并在主mxml的相应条件块中调用它们。感谢您的帮助。我很高兴我的解决方案帮助您解决了问题:)