每天学一点flex(2):Accordion 组件
很久没去练习flex 开始有点生疏,用起来还是很舒服。flex 3和flex4之间存在一些差别,所以在选择的时候需要小心一点,今年主推flex 4 所以初学的人可以跳过flex 3直接学flex4。 因为flex 开发是建立在as 3基础上,故此研究类库之间结构是一件很不错的事情。毕竟结构美是学习编程一种美学流。
今天的纯粹练习,也没有其他的。对问题引发的事情会说一下。例如写的swf 的减容问题,这个真的是一个很头疼的事情。不得不说,减容是一个课题。flex 3 的组件在没有优化下,生成的质量swf 的体重会大了一点。比如一个胖子,为蜗牛式的网速加载进去。可想而知。呵呵,一个不好笑的冷笑话。开始以个话题,这个flash 在国家的网站上看到,于是山寨了一下,采用了这种Accordion 组件。在这里我不讲解他的用法。的确很多资料已经齐全了。现在开始制作一下,看看在没有优化的前提是如何。
用法大概是如此,把官方网一些网站图片切了进去,然后进行嵌入去。采用的组件Image组件。进行这些工作后,还需要对字体进行样式制作。当初希望通过<mx:Canvas 组件进行设置,但是查询资料后,发现这种办法行不通。于是百度一下。找到了答案
<mx:Accordion id="accordion" headerHeight="25" headerStyleName="accordionStyle"
通过使用这个属性:headerStyleName。再配合样式制作,设置字体的大小和对齐方式。有点不爽的时,在使用css样式的时候,没有进行提示功能。这一点flex builder 3一点对css支持不足的地方。
<mx:Style>
.accordionStyle
{
font-size:12px;/*设置字体大小*/
text-align:center;/*设置字体对齐方式*/
}
</mx:Style>
接下来就按习惯的思维进行嵌入图片<mx:Image source="@Embed(source='image/1.jpg')
但是这种嵌入方式导致一个问题了。什么问题?我发现生成的swf 大小达到302k了,比较大了。因为没有对其图片进行优化。
一方面可以对图片进行减容,这个办法可以减少swf生成的大小。
其次,想办法生成swf,初步预想是这样。同时也更改Accordion 的s
相关文档:
转自:http://blog.csdn.net/meteorlWJ/archive/2008/03/27/2223239.aspx
这一次的Flex 实践将要实现以下功能:
1、自定义一个简单的 Flex 组件
2、创建一个Index. mxml 来调用该组件
&n ......
<?
xml
version
=
"1.0"
?>
<!-- Simple example to demonstrate the Alert control. -->
<
mx:Application
xmlns:mx
=
"http://www.adobe.com/2006/mxml"
>
&n ......
现在flash builder 4已经自带了多种语言包,在使用的时候直接拿过来用就可以了,在使用资源文件的时候,需要设置一下资源参数
-locale=en_US,zh_CN -source-path=locale/{locale}
flex 3.x的版本的sdk只支持英文和日文,如果需要中文,则可以从flex
4.xsdk的\frameworks\locale拷贝zh_CN等文件夹到flex3.x的\frameworks ......
flex中在DisplayObject里直接用stage,可能会是null,原因不是太清楚,找到了解决办法,当接收到ADDED_TO_STAGE事件时,stage肯定被创建出来了,这个时候再使用就没有问题。
addEventListener( Event.ADDED_TO_STAGE, function( e:Event ):void ??
{
stage.addEventListener(KeyboardEvent.KEY_DO ......