Flex Air应用开发:Rss阅读器制作(1)

 

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
  3.     applicationComplete="init()"
  4.     showFlexChrome="false"      
  5.  alwaysInFront="true" 
  6.   width="500"
  7.    height="500">
  8.     <mx:Style source="View.css"/>
  9.     <mx:Script>
  10.         <![CDATA[
  11.          import mx.controls.Alert;
  12.             private function init():void
  13.             {       
  14.                 hp.send();    
  15.             }
  16.             //链接方法
  17.            public function LinkTOURL():void
  18.            {       
  19.             try{         
  20.              navigateToURL(new URLRequest(dg.selectedItem.link));                 
  21.           }   
  22.            catch(e:Error)
  23.            {
  24.              Alert.show("发生错误了");
  25.            }
  26.           }
  27.             
  28.         ]]>
  29.     </mx:Script>
  30.     <mx:HTTPService id="hp"  url="http://www.people.com.cn/rss/politics.xml"
  31.       useProxy="false"/>
  32.     <mx:Panel  title="Rss Reader" layout="absolute" horizontalCenter="0" verticalCenter="-13" width="443" height="421">
  33.         <mx:DataGrid  id="dg" x="0" y="0" width="423" height="300" dataProvider="{hp.lastResult.rss.channel.item}"  >
  34.             <mx:columns>
  35.                 <mx:DataGridColumn headerText="title" dataField="title"  width="390" />          
  36.              <mx:DataGridColumn width="53">
  37.               <mx:itemRenderer >
  38.                  <mx:Component>
  39.                  <mx:VBox>
  40.                   <mx:LinkButton label="Look"  click="this.parentDocument.LinkTOURL()"/>                
  41.                  </mx:VBox> 
  42.                  </mx:Component>                
  43.                 </mx:itemRenderer>          
  44.             </mx:DataGridColumn> 
  45.             
  46.         </mx:columns>               
  47.         </mx:DataGrid>
  48.         <mx:Button x="313" y="328.65" label="AddLink" width="100" height="27.933334"/>
  49.         <mx:TextInput x="43" y="331.65" width="262"/>
  50.         <mx:Label x="10" y="333.65" text="Rss"/>
  51.     </mx:Panel>
  52. </mx:WindowedApplication>

 

 

制作过程:

第一步:新建一个project 为Ai r , 选择服务器技术为none  创建好文件后就尝试添加我们所需要的组件

DataGrip pannel 等容器

 

制作原理:使用RPC远程调用功能访问Rss的XMl文件。

  1.  <mx:HTTPService id="hp"  url="http://www.people.com.cn/rss/politics.xml"
  2.       useProxy="false"/>

其中url是我们可以尝试修改的这里选择一个人民网 rss的新闻阅读,如果感兴趣的可以修改这个网址尝试自己喜欢的阅读订阅。

 

 

注意:为了使用窗口透明 和风格变化,还要修改配置文件xml文件

找到 systemChrome 和transparent 这两项

 <!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. -->
  <systemChrome>none</systemChrome>

  <!-- Whether the window is transparent. Only applicable when systemChrome is false. Optional. Default false. -->
  <transparent>true</transparent>

 

修改默认的窗口风格,和显示透明化。这样就可以实现的透明化效果

 

 

功能扩展:为了使功能更加的强大这里还可以尝试大胆改造

如添加更加多的阅读标签;更加多的样式风格。以及 效果

 

如果要其100%透明还需要修改

<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
 applicationComplete="init()"
 showFlexChrome="false"     
 alwaysInFront="true" >

 

增加两个项 

showFlexChrome="false"     
 alwaysInFront="true" >

 

这样就能实现完全透明

 

但是实现透明化的一个问题,也会存在的,例如没有了拖动,这样就要我们添加拖动等一些行为。

 

为使Pannel可以拖动这样我们可以加入鼠标事件,以及 this.stage.nativeWindow.startMove();这个类的方法

  1.     private function init():void
  2.             {       
  3.               hp.send();
  4.                mypanel.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
  5.             }

 import flash.display.NativeWindow;

 

 

  1. private function onMouseDown(event:MouseEvent):void
  2.         { 
  3.          this.stage.nativeWindow.startMove();
  4.         }   

注意:即使拖动了,但是里面一些容器也会产生一些我们不想要的效果,如滚动条也一直拖动来。我们希望的是只是pannel 上面拖动但是这样的效果还是没有实现到

 

为了使拖动正常操作,我们可以现在拖动一些区间。不让其全部拖动,所以可以限制区间

 

if(y>n && y<m)

{

 

    this.stage.nativeWindow.startMove();

}

 

 

这样就可以实现区间的拖动减少一写麻烦

 

 

可以尝试一下这个效果 功能还可以增强。接下来就是导出-》 尝试一下安装看看自己做的rss 爽不爽

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值