Flex 手机air 近段时间总结

用Flex开发手机项目的便捷之处,在于它可以同时支持安卓和ios系统,但由于不是原生的手机代码,所以有时候要借助相应的扩展ane进行相应的扩展功能调用。

第一个接触的手机项目在于对软件广告的更改,从而学习到了百度广告和admob广告二者的运用,复制其他人已经搭建好的ane,将其扩展到本手机程序之中,然后相应的在

手机项目中勾选该应用,使其真正的扩展到手机里面

接下来就可以将该ane类似于swf文件,通过调用里面的开放接口,实现我们需要的效果,在这里面广告的展现模式,有banner的条形情况,有针对于平板的Ipad版本的宽条形的广告,通过,showBanner(),接口的调用,里面添加展示的广告形式和广告的位置。 接下来可以对广告事件进行监听,有广告的received的获取事件,有fail的获取失败事件。在fail监听事件里面,通过trace(e.data)可得到加载广告失败的原因。同样在该广告的修改过程中,基于广告会显示在舞台的最顶端,所以会出现遮住底下的项目,所以要考虑将舞台的大小缩小,这里将舞台的高度减去广告条的高度就可以了。但是问题来了,广告条在不同的机子里面由于手机的分辨率的不同,手机的长宽不同,会出现不同的高度版本。所以这里要考虑比率缩放的效果,一般广告加载的时候,会铺满舞台的宽,进而我们考虑到广告条肯定是按比例缩放的来保证广告条的美好不失真,所以通过 [舞台宽/x = 原来广告宽/舞台高]这里按比例值得换算就可以获取差不多值得广告条高度,自然可以将舞台进行比较准确的缩放。

广告条的高度计算问题解决了,接下来要考虑当广告条加载不出来的时候,要将舞台高度恢复到原始高度,这样才能保证界面的美化,这样考虑,所以进行URLMonitor的网络状态的检测,进行URLMonitor("Http://www.baidu.com");然后进行该urMintor的事件项的检测,然后通过avalivaled的观测来决定舞台的高度变化。在广告的改变过程中,发现百度ane所带来的,在广告还没出现的时候,它会首先在屏幕上面占据一定的位置,所以先将百度进行hide的隐藏做法,然后在检测到有广告received的情况下再showBanner.

广告条问题的解决,在期间需要做一个九宫格的菜单项目,从这里学习到了容器载体,group的没有任何排版内容的容器,Vgroup竖直排版,Hgroup水平排版,这三个容器,还有最大的舞台容器。还有一个可以规定样式,颜色的BorderContainer 这些所有可视组件都需要依赖于这些容器进行添加,才有载体进行盛放。

学习了layout的版本内容,有hor ver TileLayout 的三者的排版 ,第三者就是利用它完成了九宫格的排版,它可以通过request相关规定列有限制多少内容,行限制多少内容,通过gap进行规定行距或者列距的变化。这里结合了Llist,在list里面通过TileLayout的排版方式进行九宫格的排版。在完成这个功能的过程中,由于没有设置好List的容器大小,导致显示的不完全,后来通过width=”100%“ height=”100%“ 才能全部显示出来。后来出现了排版错位,图片一部分越过界面,后来发现时由于columnAlign的行的对其方式是是适应列距还是扩大图片来适应,从而使可能贴边舞台的边缘。到后来发现它会按照我们规定的几行几列先分割好舞台,然后再将我们需要放置的东西置于这些方形里面,所以会导致填充不完整,而导致背景颜色的不协调。这里直接将背景颜色去掉,从而解决了问题。 即将这个属性autoDrawBackground置位false,从而没有背景颜色。

在学习这个的过程中,需要自定以list的显示形式,基于这个学习了itemRender的呈现器设置,它会从List的dataProvided中读取形成自己data的属性,从而基于不同的data来进行界面的排版,如果需要将data进行加工,则在itemRender中通过override public function set data(value:object):void;进行加工操作。在list的学习过程中,学习了list的数据dataProvided的捆绑操作,通过[Bindable] 对它的ArrayCollection 进行附值修改,只要他的某个array整个修改了就,就会激活界面的改变,如果只是纯粹的array中的某个属性发生改变,它是不会检测到的,这时只能利用ac,itemUpdated,从而激活某个界面属性的改变。

在九宫格的要求过程中,学习了弹窗内容的显示形式,通过S:Move 的组件操作,通过target的目标定位,然后规定某个时间段从某个位置向某个位置移动的操作,从而实现动态的滑动效果。

这样子九宫格就完成了,借助于list TileLayout Move 组件的运用从而实现了九宫格的形式的完成。

九宫格完成之后,需要完成一个后台推送的效果,这里涉及到一个如何保存网络上下载下来的文件,这里需要考虑下载下来的文件的存储位置,这里sd卡的位置于File.applicationStorageDirectory,通常调用的url地址为[app-storage://]后面填写你保存的文件名称。这里已经规定好文件的位置,接下来要进行文件读写操作,通过

FileStrem.open(File,FileMode.read/write) 选择是进行读还是写,然后FileStrem.readBytes 或者 writeBytes进行操作,然后就可以进行文件的保存。这里 涉及到二进制byteArray的存储形式,所以在之前对网络文件的下载要通过urlLoad,然后选择urlL.dataFormat = URLLoaderDataFormat.BINARY,选择下载的形式为二进制下载,这样就可以得到文件的二进制形式,然后进行存储。然后存储完毕的话直接利用上面的url调用就可以了。相当于直接调用本地文件了。

  接下来需要完成的是多个法语应用的合并成一个运用,这里面学习了button 的skinclass 的学习应用,一个button有多个的up down over disabled的状态,通过includin的指定[待完善]。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值