發表文章

目前顯示的是有「Flex 3」標籤的文章

Flex的官方文件

感覺Flex的文件有好幾個,搞不清楚到底應該怎麼看,以這篇文章來自我釐清一下脈絡。 Livedocs Using Flex (位於livedocs裡, 網址裡面已經說明只有Flex3的內容) http://livedocs.adobe.com/flex/3/html/index.html 這份文件很棒,以口語化的內容向開發者介紹Flex各個環節, 文中並嵌入 source code和範例,就像是一本寫得很好的書。想要了解某個機制的設計和概念時,可以先從這邊開始閱讀。user可以針對每篇內容做討論。 Help Using Flex (位於Help裡) http://help.adobe.com/en_US/flex/using/index.html 與Livedocs的內容幾乎一模一樣,但網址裡面沒有限定某一個版本,所以內容包含Spark的介紹也合理。一樣的內容,但Index書目跟Livedocs卻不一樣,但稍微比對一下發現只是章節編排的位置不同。比如Deployment的章節,在Help裡位於最後一章,但在Livedocs卻是位於中間介紹完Development的地方。Help裡面經常會附帶有Builder的操作步驟。跟Livedocs一樣,user可以針對每篇內容做討論,Help裡面也有這個機制,但可能比較新的關係,Help的討論幾乎沒有,在Livedocs中的討論比較多。 不一樣的地方來了,(1) 對於Flex Builder的介紹方面,Livedocs是針對比較舊的Flex Builder 3做介紹,新的Flash Builder 4以上所具有的功能當然就沒有,這很合理。至於內容上,又是否有什麼不一樣呢? [TODO] 實際找一個需要了解 topic的內容,兩邊都看過再來比較。然後,Help裡面會包含,但LiveDocs裡面不會有。(2) 有包含AIR的介紹。不一樣的地方,沒有包含AIR的介紹。(3) Help文件有中文翻譯,只要把"en_US"的路徑,改為"zh_TW"就可以看到中文版,如果沒有繁體中文版會被導到英文版中,這時也可以"zh_CH"試試簡體中文版。不曉得為何不直接在UI上提供語言切換,又是一個謎。(4) 有行動應用方面的資訊,...

Flex 3 Tree 元件的資料更新Bug

圖片
Flex 3 的Tree元件可以使用filterFunction來做過濾的功能,比如介面上有一個文字框,輸入文字後比對Tree內容,不包含這段過濾文字者就不顯示。正確情況應該如下圖所示。 但是如果資料的筆數很多時,在Tree元件上使用filterFunction過濾資料時,Tree的內容會亂掉並跑出幾個奇怪的現象: 過濾以後的Tree高度,不會更新,所以ScrollBar一樣可以向下拉動很長的高度。如下圖示,ScrollBar還是很小,表示Tree內容很長。 過濾後,Tree內容仍然保持很長,那不應該存在的cell會怎樣呢?結果Tree裡面會自動找東西亂填cell,如下圖,過濾後應該有5個cell,但超過第3個cell的名稱就開始重複了。 即使使用了invalidateList、validateNow、Collection.refresh等方法也沒有用,標準解法目前未知,但可以用下列方式將顯示更正。在呼叫完filterFunction以後,加上下列方式: tree.expandItem( [your tree data] ,false); tree.expandItem( [your tree data] ,true); 語意上就是讓Tree展開和關閉一次,expandItem方法內部觸發了某個正確的resize和display方法,什麼方法?暫不研究。