flexpaper簡單的二次開發


flexpaper二次開發目的:
  • 去掉工具欄的打印按鈕和FB關於按鈕
  • 去掉頁面加載或重新加載時右下角的LOGO圖片
  • 去掉右鍵菜單的關於和打印
初次接觸flexpaper,主要參考以下資料:
  • mark的《Flexpaper二次開發入門教程(ajava.org發布)》
  • flexpaper的二次開發總結及探討  http://blog.csdn.net/kunoy/article/details/7903258
以上的參考資料很詳細,感謝兩位作者,不過還是有些不足的地方:
  1. 分欄和列表顯示有BUG,顯示不對
  2. 右下角的LOGO在swf第一次加載后沒有,以后還是會出現
  3. 沒有關於如何去掉右鍵菜單的關於和打印
本文基於FlexPaper2.0.2修改,使用Adobe Flash Builder 4.6

使用FlexPaper2.0.2的原因,2.0版本后能用jquery調用,很方便。
       
        按照mark的教程新建Flex項目,導入源代碼,修改 中的myflexpaper.mxml文件后,屬性,如下圖設置:
       

  

    由於版本的問題,有些代碼可能要有相應的修改。
 
問題解決
1、解決分欄和列表顯示的BUG,顯示不正確
        筆者根據mark的教程創建Flex項目,發現一個嚴重的缺陷, 分欄顯示結果 有問題,經過多次嘗試,發現應該是 http://flexpaper.googlecode.com/svn/trunk/flexpaper 源代碼的FlexPaper_Resources.swc有問題,於是下載FlexPaper_2.0.2_SDK_3.5_swc並使用其FlexPaper_Resources.swc即可解決分欄BUG問題。

  

  

 
2、解決右下角的LOGO重新加載后出現的問題
     FlexPaperViewer.mxml文件中找到以下兩個方法,並在方法體的最后一行加上paper1.removeChildAt(2);或者paper1.removeElementAt(2); 得看flex版本。mark的教程中沒有處理 onScaleChanged方法。
  • protected override function papersLoadingHandler(event:Event):void
  • private function onScaleChanged(event:Event):void

3、去掉右鍵菜單的打印和關於
        在FlexPaperViewer_Base.mxml文件中找到下面的方法
  • private function bindStageEvents(e:Event):void
        該方法中contextMenu = new ContextMenu();相當於定義一個右鍵菜單,如下圖:
       

  

 
        效果如下圖:

  

        至此,這三個小問題都解決了,還有一個就是讀取中文.swf文件的問題,筆者參考了以上的兩份資料還是沒有解決,由於考慮到實際應用中,以中文命名的swf文件不常見,也不好處理,一般使用ID等命名swf文件,也沒有深究。
 
 
 
 
源碼共享到git中
https://github.com/longjh00/myflexpaper.git
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM