<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vicker&#039;s Coding Kitchen &#187; Flex FAQ</title>
	<atom:link href="http://vicker.cubeforge.net/blog/category/flex-faq/feed/" rel="self" type="application/rss+xml" />
	<link>http://vicker.cubeforge.net/blog</link>
	<description>Hong Kong Adobe Flash platform developer (Flex, AIR and Flash)</description>
	<lastBuildDate>Wed, 27 Jul 2011 18:27:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Flex FAQ #11: Spark Layout Basics</title>
		<link>http://vicker.cubeforge.net/blog/2010/01/31/flex-faq-11-spark-layout-basics/</link>
		<comments>http://vicker.cubeforge.net/blog/2010/01/31/flex-faq-11-spark-layout-basics/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 10:43:29 +0000</pubDate>
		<dc:creator>Vicker</dc:creator>
				<category><![CDATA[Flex FAQ]]></category>
		<category><![CDATA[Box]]></category>
		<category><![CDATA[Group]]></category>
		<category><![CDATA[HBox]]></category>
		<category><![CDATA[HGroup]]></category>
		<category><![CDATA[HorizontalLayout]]></category>
		<category><![CDATA[LayoutBase]]></category>
		<category><![CDATA[Spark]]></category>
		<category><![CDATA[VBox]]></category>
		<category><![CDATA[VerticalLayout]]></category>
		<category><![CDATA[VGroup]]></category>

		<guid isPermaLink="false">http://vicker.cubeforge.net/blog/?p=338</guid>
		<description><![CDATA[o係 Flex 裡面我地用得最多o既 control 係乜呢? Label? TextInput? Button? DataGrid? 我覺得答案應該係 VBox 同 HBox 無論係 Application layout, custom item renderer, form layout, padding&#8230; 好多地方都要用 VBox 同 HBox 所以第一個 Spark 要學o既o野就係 VBox 同 HBox o既 alternatives &#8211; Group 同 LayoutBase 顧名思意 Group 係用黎將唔同o既 components group 埋一齊 呢 d components 可以係 control 亦可以係 containers 可以係 Spark component 亦可以係 [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p>o係 Flex 裡面我地用得最多o既 control 係乜呢?<br />
Label? TextInput? Button? DataGrid?<br />
我覺得答案應該係 VBox 同 HBox</p>
<p>無論係 Application layout, custom item renderer, form layout, padding&#8230;<br />
好多地方都要用 VBox 同 HBox<br />
所以第一個 Spark 要學o既o野就係 VBox 同 HBox o既 alternatives &#8211; Group 同 LayoutBase</p>
<p>顧名思意 Group 係用黎將唔同o既 components group 埋一齊<br />
呢 d components 可以係 control 亦可以係 containers<br />
可以係 Spark component 亦可以係 Halo component<br />
Group 基本上係取代左 Halo o既 Box container<br />
同 Box 一樣~ Group 本身 by default 係 absolute layout<br />
Absolute layout 者係所有 child component 都係 position o係 x 0 y 0<br />
所以下面o既 example 所有 component 都會重疊左</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;s:Application
	xmlns:fx=&quot;http://ns.adobe.com/mxml/2009&quot;
	xmlns:s=&quot;library://ns.adobe.com/flex/spark&quot;
	xmlns:mx=&quot;library://ns.adobe.com/flex/mx&quot;&gt;

	&lt;s:Group&gt;

		&lt;!-- Spark and Halo Button --&gt;
		&lt;s:Button label=&quot;Spark Button&quot; /&gt;
		&lt;mx:Button label=&quot;Halo Button&quot; /&gt;

		&lt;!-- Nested Group --&gt;
		&lt;s:Group&gt;

			&lt;!-- Spark DropDownList and Halo ComboBox --&gt;
			&lt;s:DropDownList /&gt;
			&lt;mx:ComboBox /&gt;

		&lt;/s:Group&gt;

	&lt;/s:Group&gt;

&lt;/s:Application&gt;
</pre>
<p>Box 有兩種 subclass~ HBox 同 VBox<br />
HBox 會將所有 child 跟據每一個 child o既 width 打橫放而且唔會重疊<br />
VBox 同 HBox 一樣~ 不過係打直放</p>
<p>Group 同 Box 都有 similar o既 subclass HGroup 同 VGroup<br />
原理一樣~ HGroup 打橫~ VGroup 打直~</p>
<p>下面呢個 example 將 Spark Group 同 Halo Box 放埋一齊做對比<br />
Compile 完之後睇落其實係無分別</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;s:Application
	xmlns:fx=&quot;http://ns.adobe.com/mxml/2009&quot;
	xmlns:s=&quot;library://ns.adobe.com/flex/spark&quot;
	xmlns:mx=&quot;library://ns.adobe.com/flex/mx&quot;&gt;

	&lt;!-- Spark vertical group --&gt;
	&lt;s:VGroup left=&quot;0&quot;&gt;

		&lt;s:Button label=&quot;Spark Button&quot; /&gt;
		&lt;mx:Button label=&quot;Halo Button&quot; /&gt;

		&lt;!-- Spark horizontal group --&gt;
		&lt;s:HGroup&gt;

			&lt;s:DropDownList /&gt;
			&lt;mx:ComboBox /&gt;

		&lt;/s:HGroup&gt;

	&lt;/s:VGroup&gt;

	&lt;!-- Halo veritcal box --&gt;
	&lt;mx:VBox right=&quot;0&quot;&gt;

		&lt;s:Button label=&quot;Spark Button&quot; /&gt;
		&lt;mx:Button label=&quot;Halo Button&quot; /&gt;

		&lt;!-- Halo horizontal box --&gt;
		&lt;mx:HBox&gt;

			&lt;s:DropDownList /&gt;
			&lt;mx:ComboBox /&gt;

		&lt;/mx:HBox&gt;

	&lt;/mx:VBox&gt;

&lt;/s:Application&gt;
</pre>
<p>Spark Group 比 Halo Box 厲害o既地方就係除左 absolute, horizontal 同 vertical 之外<br />
仲可以 custom define 其他o既 layout<br />
就算係圓形都可以&#8230; 只要你識計數~ 哈哈</p>
<p>但係要用 custom layout 就唔可以再用 HGroup 同 VGroup<br />
要用另一種方法可以 set layout&#8230;<br />
就係用 Group o既 layout properties 同埋 layoutBase class<br />
layoutBase class 係 Group 用黎將 child components 排位o既一個 class<br />
事實上 HGroup 只係一個 Group layout 上面 apply 左 Spark predefine o既 HorizontalLayout~<br />
者係 HGroup 某程度上只係一種 shortcut~ VGroup 都係一樣~ 用左 predefine o既 VerticalLayout~</p>
<p>如果將上面o既 example Spark Group 部份用 layout 再寫一次的話就會係下面咁樣&#8230;</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;s:Application
	xmlns:fx=&quot;http://ns.adobe.com/mxml/2009&quot;
	xmlns:s=&quot;library://ns.adobe.com/flex/spark&quot;
	xmlns:mx=&quot;library://ns.adobe.com/flex/mx&quot;&gt;

	&lt;!-- Spark group with vertical layout --&gt;
	&lt;s:Group&gt;

		&lt;s:layout&gt;
			&lt;s:VerticalLayout /&gt;
		&lt;/s:layout&gt;

		&lt;s:Button label=&quot;Spark Button&quot; /&gt;
		&lt;mx:Button label=&quot;Halo Button&quot; /&gt;

		&lt;!-- Spark group with horizontal layout --&gt;
		&lt;s:Group&gt;

			&lt;s:layout&gt;
				&lt;s:HorizontalLayout /&gt;
			&lt;/s:layout&gt;

			&lt;s:DropDownList /&gt;
			&lt;mx:ComboBox /&gt;

		&lt;/s:Group&gt;

	&lt;/s:Group&gt;

&lt;/s:Application&gt;
</pre>
<p>我 personally 比較喜歡用 layout 多過 HGroup VGroup<br />
主要係考慮到 flexibility~<br />
好多時我地都會轉 layout design<br />
如果用 HGroup VGroup 寫法的話~ 如果想轉 layout 就要一次過改晒 open 同 close tag<br />
如果 Group 裡面無乜 child components 都還可以<br />
如果多起上黎~ 你改左個 open tag 之後要搵返個 close tag 都幾麻煩&#8230;</p>
<pre class="brush: xml; title: ; notranslate">
&lt;s:HGroup&gt;
	...
&lt;/s:HGroup&gt;
</pre>
<p>而且用 layout 仲可以 runtime 隨時轉 layout class<br />
可以做到更加多變化o既 UI<br />
例如你有一堆 tag 想 show 比 user 睇<br />
想 elegant 一 d可以用 custom made o既 tag cloud layout<br />
想清楚 d 咁 list out 又可以轉左 VerticalLayout<br />
想玩花臣的又可以用 circular layout</p>
<p>下面o既 example 就示範左點樣 runtime 轉 layout<br />
而裡面o既 CircularLayout o係 Andrew Trice 寫o既 custom layout<br />
<a href="http://www.insideria.com/2009/05/flex-4-custom-layouts.html">http://www.insideria.com/2009/05/flex-4-custom-layouts.html</a></p>
<p><a href="http://vicker.cubeforge.net/blog/2010/01/31/flex-faq-11-spark-layout-basics/"><em>Click here to view the embedded video.</em></a></p>
<p>English title: Spark Layout Basics</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://vicker.cubeforge.net/blog/2010/01/31/flex-faq-11-spark-layout-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex FAQ #10: Flex 4 有幾多個 namespace</title>
		<link>http://vicker.cubeforge.net/blog/2010/01/16/flex-faq-10-how-many-flex-4-namespace/</link>
		<comments>http://vicker.cubeforge.net/blog/2010/01/16/flex-faq-10-how-many-flex-4-namespace/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 17:33:47 +0000</pubDate>
		<dc:creator>Vicker</dc:creator>
				<category><![CDATA[Flex FAQ]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Halo]]></category>
		<category><![CDATA[namespace]]></category>
		<category><![CDATA[Spark]]></category>

		<guid isPermaLink="false">http://vicker.cubeforge.net/blog/?p=320</guid>
		<description><![CDATA[知道點解要用 Spark 之後當然要實戰下啦 首先寫返個 Hello Spark application 先 以下o係 main application o既 source code * 太簡單喇~ 無 build application 放上黎~ 抱歉 唔太複雜吧~ 不過都幾多野唔同~ 首先當然係 namespace 啦 Flex Builder 3 (FB3) 寫 Flex 3 app 時o既 namespace 真係簡單到不得了 一個 mx 走天涯~ 一個已經包括左: - language (Array, uint, Number, Object etc&#8230;) 同埋 - Halo components (Button, VBox, DataGrid [...]
Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2010/01/14/flex-faq-9-why-spark/' rel='bookmark' title='Flex FAQ #9: 點解要 Spark'>Flex FAQ #9: 點解要 Spark</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/' rel='bookmark' title='Flex FAQ #6: Layout 秘技 Part 1'>Flex FAQ #6: Layout 秘技 Part 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>知道點解要用 Spark 之後當然要實戰下啦<br />
首先寫返個 Hello Spark application 先<br />
以下o係 main application o既 source code<br />
* 太簡單喇~ 無 build application 放上黎~ 抱歉</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;s:Application
	xmlns:fx=&quot;http://ns.adobe.com/mxml/2009&quot;
	xmlns:s=&quot;library://ns.adobe.com/flex/spark&quot;
	xmlns:mx=&quot;library://ns.adobe.com/flex/mx&quot;&gt;

	&lt;s:Label text=&quot;Hello Spark!&quot; /&gt;

&lt;/s:Application&gt;
</pre>
<p>唔太複雜吧~ 不過都幾多野唔同~ 首先當然係 namespace 啦</p>
<p><strong>Flex Builder 3 (FB3) 寫 Flex 3 app 時o既 namespace 真係簡單到不得了</strong></p>
<pre class="brush: xml; title: ; notranslate">
xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot;
</pre>
<p>一個 mx 走天涯~<br />
一個已經包括左:<br />
- language (Array, uint, Number, Object etc&#8230;) 同埋<br />
- Halo components (Button, VBox, DataGrid etc&#8230;)</p>
<p><strong>FB4 寫 Flex 3 namespace 基本上無變架~ 大家唔駛咁擔心</strong></p>
<pre class="brush: xml; title: ; notranslate">
xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot;
</pre>
<p>但係 FB4 寫 Flex 4 就複雜喇~<br />
首先 Flex 4 namespace 唔再係一個 namespace 玩晒~<br />
而係好 clear cut 咁分開左 language 同 component namespaces</p>
<p><strong>Flex 4 o既 language namespace 係</strong></p>
<pre class="brush: xml; title: ; notranslate">
xmlns:fx=&quot;http://ns.adobe.com/mxml/2009&quot;
</pre>
<p>至於 Flex 4 o既 component namespace 分為 Halo 同 Spark</p>
<p><strong>Flex 4 Halo namespace</strong></p>
<pre class="brush: xml; title: ; notranslate">
xmlns:mx=&quot;library://ns.adobe.com/flex/mx&quot;
</pre>
<p>!!!! 大家要留意 FB4 Beta 2 o既 Halo namespace 係 library://ns.adobe.com/flex/halo   !!!!<br />
!!!! 不過最新o既 internal build 用左 library://ns.adobe.com/flex/mx 暫時未知原因係乜 !!!!</p>
<p><strong>Flex 4 Spark namespace</strong></p>
<pre class="brush: xml; title: ; notranslate">
xmlns:s=&quot;library://ns.adobe.com/flex/spark&quot;
</pre>
<p>所以如果大家用 FB4 寫 Flex 4 o既時候需要同時用 Halo 同 Spark 就要一次過用晒 fx, s 同 mx 3 個 namespaces<br />
當然啦~ 將來當 Spark 有齊 Halo d component o既時候~ 應該可以一個 s namespace 攪掂晒~!</p>
<p>呢個 Hello Spark app 除左 namespace declaration 之外<br />
比較特別o既就係 Spark Application 同 Spark Label<br />
好明顯佢地係用黎 replace Halo Application 同 Halo Label ga la<br />
至於有乜 improvement 就容後再講喇~</p>
<p>Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2010/01/14/flex-faq-9-why-spark/' rel='bookmark' title='Flex FAQ #9: 點解要 Spark'>Flex FAQ #9: 點解要 Spark</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/' rel='bookmark' title='Flex FAQ #6: Layout 秘技 Part 1'>Flex FAQ #6: Layout 秘技 Part 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://vicker.cubeforge.net/blog/2010/01/16/flex-faq-10-how-many-flex-4-namespace/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flex FAQ #9: 點解要 Spark</title>
		<link>http://vicker.cubeforge.net/blog/2010/01/14/flex-faq-9-why-spark/</link>
		<comments>http://vicker.cubeforge.net/blog/2010/01/14/flex-faq-9-why-spark/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 17:28:26 +0000</pubDate>
		<dc:creator>Vicker</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex FAQ]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Halo]]></category>
		<category><![CDATA[Spark]]></category>

		<guid isPermaLink="false">http://vicker.cubeforge.net/blog/?p=314</guid>
		<description><![CDATA[認識 Spark 之前先要講下 Halo Halo 係 Flex 3 o既主要骨格 由最 base o既 application (mx:Application) 去到 layout properties (horizontalAlign, padding) 再去到 UI control (mx:Button, mx:TextInput) 都係 Halo o既範圍 而 Spark 就係 Flex 4 o既主要骨格 好地地用緊 Halo 點解又要 Spark 呢? 用得 Flex 比較深入o既 developer 或者 designer&#8230; 又或者 dezeloper 都會發現 Halo 有幾個比較大o既問題 1) Skinning Skinning and Skinning Halo [...]
Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2010/01/16/flex-faq-10-how-many-flex-4-namespace/' rel='bookmark' title='Flex FAQ #10: Flex 4 有幾多個 namespace'>Flex FAQ #10: Flex 4 有幾多個 namespace</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/' rel='bookmark' title='Flex FAQ #6: Layout 秘技 Part 1'>Flex FAQ #6: Layout 秘技 Part 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>認識 Spark 之前先要講下 Halo</p>
<p>Halo 係 Flex 3 o既主要骨格<br />
由最 base o既 application (mx:Application)<br />
去到 layout properties (horizontalAlign, padding)<br />
再去到 UI control (mx:Button, mx:TextInput) 都係 Halo o既範圍<br />
而 Spark 就係 Flex 4 o既主要骨格</p>
<p>好地地用緊 Halo 點解又要 Spark 呢?</p>
<p>用得 Flex 比較深入o既 developer 或者 designer&#8230; 又或者 dezeloper 都會發現 Halo 有幾個比較大o既問題</p>
<p>1) Skinning Skinning and Skinning</p>
<p>Halo control 要做 skin 係非常痛苦架<br />
一係就只係用 CSS 做 d 好似無做過咁o既 styling<br />
一係就用 Flash 畫好晒 d 野~ 之後 export SWF~ Flex embed SWF~ 再 CSS map class&#8230;<br />
要改野咩? 開返個 Flash source 由頭做過啦</p>
<p>而且 Halo control o既 internal object 係 fixed 架<br />
舉個例~ 一個 Halo button 裡面有一個 icon 同一個 text field~ 唔可以多亦唔可以少<br />
如果想做一個有兩個 icon o既 button 就只可以由一個 Box container 開始砌~ 之後再自己加返 custom events&#8230;</p>
<p>2) 雞肋 States</p>
<p>Flex o既 States 本身係一樣好方便o既 function<br />
只要 define 一個 base state~ 然後 further define 其他 state 多左或者少左o既野~ 就可以好易做到 transition<br />
但係只要 state o既數量稍為多 d~ 又或者 state 同 state 之間變化比較多~ 就會開始 lost control&#8230;<br />
究竟 B 呢個 state 有 d 乜呢&#8230; 睇返 state A 先~ 哦~ 原來乜都無&#8230;</p>
<p>3) Heavy</p>
<p>其實 Flex Application 本身係 SWF file 已經唔係太大 file size<br />
不過如果你寫既 application 比較 large scale~ 又或者對於 memory consumption 好緊張~<br />
就會好想幫 Flex 3 大瘦身~</p>
<p>Flex 3 為左將所有野簡單化~ 有時會將一 d 你未必需要用o既 item 都放左入去<br />
舉個例~ Box container by default 係有 scroll bar 架~ 只係平時唔用o既時候無 display<br />
但係無 display 代唔代表佢完全唔用 resources 呢?<br />
大家只要睇下 super class Container 就會發現一大堆比 scroll 用o既 variables&#8230; 都幾多下&#8230;</p>
<p>幾個 Box 可能影響唔大<br />
但係如果你用 data grid 再加埋 custom item renderer 仲要用 Box 做 layout&#8230; 咁就大件事喇&#8230;<br />
你就會問&#8230; 明明我個 Box 唔駛 scroll&#8230; 點解要屈我 d resources</p>
<p>上面提到只係比較大o既問題<br />
當然仲有好多其他野啦~ 例如 CSS 唔 standard 呀~ Animate color 會傻左呀~ 等等等等&#8230;<br />
而 Spark o既開發就係為左解決上面呢堆問題~</p>
<p>呢度就暫時粗略講一講<br />
之後我會詳細咁講每一 part~</p>
<p>1) Spark o既 control 大致上可以細分為 HostComponent 同 SkinClass<br />
HostComponent 主要負責 event / state declaration 同埋 contain data<br />
SkinClass 就負責控制所有 graphic elements, state content 同 data binding</p>
<p>好處在於 HostComponent 只係負責最 base o既 feature<br />
而 SkinClass 就可以比你點玩都得~ 就算你想個 Button 係星形再加兩個 icon 都無問題</p>
<p>2) States o既 format 完全唔同晒~<br />
State 裡面o既野唔再o係 state o既層面處理~ 而係o係 control o既層面處理<br />
配合埋 Flash Builder o既 State editor 要知道 current state 有乜簡直易如反掌</p>
<p>3) Scroll bar 再唔o係 default component 會有o既野<br />
要用就要自己 declare~ 唔用就當然慳好多 resources 啦~</p>
<p>仲有好多其他 changes~ 包括 improved CSS class~ custom layout~ PopUpAnchor~ TLF~<br />
可以咁講&#8230; 要學o既野多過 Flex 2 上 Flex 3 好多好多倍~ 哈哈</p>
<p>Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2010/01/16/flex-faq-10-how-many-flex-4-namespace/' rel='bookmark' title='Flex FAQ #10: Flex 4 有幾多個 namespace'>Flex FAQ #10: Flex 4 有幾多個 namespace</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/' rel='bookmark' title='Flex FAQ #6: Layout 秘技 Part 1'>Flex FAQ #6: Layout 秘技 Part 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://vicker.cubeforge.net/blog/2010/01/14/flex-faq-9-why-spark/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex FAQ #8: Font Embedding 全集</title>
		<link>http://vicker.cubeforge.net/blog/2009/04/07/flex-faq-8-all-about-font-embedding/</link>
		<comments>http://vicker.cubeforge.net/blog/2009/04/07/flex-faq-8-all-about-font-embedding/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 16:40:15 +0000</pubDate>
		<dc:creator>Vicker</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex FAQ]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[DynaComware]]></category>
		<category><![CDATA[dynamic text]]></category>
		<category><![CDATA[embed]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[font-face]]></category>
		<category><![CDATA[font-family]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://vicker.cubeforge.net/blog/?p=280</guid>
		<description><![CDATA[尋日要幫一個 application 做 font embedding 主要係想 embed 楷書 其實 font embedding 本身並唔係一件難事 因為 Flex 本身已經 support~ 但係 embed 得黎又要控制好 file size 就唔簡單~! 至於楷書o既問題就更加多&#8230; 應該 specific d 講&#8230; 係 Microsoft o既標楷體o既問題更加多&#8230; 由淺入深~ 1) Flex 直接 Embed font 方法主要有兩種 1A) Flex CSS refer local font o係 CSS 裡面 declare font-face 然後 source 利用 local 指住個字體名 最後 declare [...]
Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2008/12/09/adobe-max-sf-day-1/' rel='bookmark' title='Adobe MAX SF day 1'>Adobe MAX SF day 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/' rel='bookmark' title='Flex FAQ #3: 點樣用 Flex FileReference 下載檔案'>Flex FAQ #3: 點樣用 Flex FileReference 下載檔案</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/07/essential-actionscript-30-and-actionscript-30-design-patterns/' rel='bookmark' title='Essential ActionScript 3.0 and ActionScript 3.0 Design Patterns'>Essential ActionScript 3.0 and ActionScript 3.0 Design Patterns</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>尋日要幫一個 application 做 font embedding<br />
主要係想 embed 楷書<br />
其實 font embedding 本身並唔係一件難事<br />
因為 Flex 本身已經 support~<br />
但係 embed 得黎又要控制好 file size 就唔簡單~!<br />
至於楷書o既問題就更加多&#8230;<br />
應該 specific d 講&#8230; 係 Microsoft o既標楷體o既問題更加多&#8230;</p>
<p>由淺入深~</p>
<p><strong>1) Flex 直接 Embed font</strong></p>
<p>方法主要有兩種</p>
<p><strong>1A) Flex CSS refer local font</strong></p>
<pre class="brush: css; title: ; notranslate">
@font-face
{
	src: local(&quot;標楷體&quot;);
	font-family: &quot;KaiShu&quot;;
}
</pre>
<p>o係 CSS 裡面 declare font-face<br />
然後 source 利用 local 指住個字體名<br />
最後 declare 一個 font family 名~ (呢個隨意就得)<br />
呢度最 tricky 係個字體名&#8230; 特別係 Mac 機再加埋中文字&#8230;<br />
經常攪到 Flex Builder compile o既時候會出現 local build error&#8230;</p>
<p>好: 快<br />
壞: 唔穩定, File Size 大</p>
<p><strong>1B) Flex CSS refer font file</strong></p>
<pre class="brush: xml; title: ; notranslate">
@font-face
{
	src: url(&quot;/fonts/標楷體.ttc&quot;);
	font-family: &quot;KaiShu&quot;;
}
</pre>
<p>想解決 1A 出現o既問題就要利用 source 指 url 直接指住 font file<br />
font file 大家可以o係唔同地方買或者 download 到<br />
如果o係 system font 的話</p>
<p>Windows 可以o係控制台 > 字型 裡面抄走<br />
Mac 可以o係 System/Library/Fonts 裡面抄走<br />
(Mac 特別要留意副檔名 dfont 的係 embed 唔到架)</p>
<p>好: 穩定~ 準<br />
壞: File Size 大</p>
<p><strong>備註: Embed Microsoft Windows 內置標楷體o既爆字問題</strong></p>
<p>如果大家要 embed 標楷體~ 就千祈唔好用 Windows 裡面o既標楷體<br />
因為 embed 之後o係 Mac 機睇係會出現爆字問題</p>
<p>關於爆字 (字形破碎) o既問題請參考 &#8211; 破碎的細明體研究院<br />
<a href="http://bbs.bnw.com.tw/conference/viewtopic.php?t=2856">http://bbs.bnw.com.tw/conference/viewtopic.php?t=2856</a></p>
<p>簡單黎講o係 MS 的標楷體 version 太舊 (3.0)<br />
解決方法係去華康科技買返新 d o既 version (latest 5.0) (我試過 2005 年o既 3.10 無問題)</p>
<p>不過用華康標楷體 3.10 最大o既問題係 file size&#8230;<br />
MS (4.9Mb) 華康 (27.9Mb)<br />
一個 Flex application 用之前要 download 4.9Mb 已經唔容易&#8230; 更何況 27.9Mb&#8230;</p>
<p>另外更要特別提一提<br />
Embed 27.9Mb o既字形係好耐同好唔 stable 架<br />
我曾經多次出現 out of memory o既問題&#8230;<br />
10 次 compile 得 2 &#8211; 3 次成功&#8230;<br />
(Mac Pro 都頂唔順&#8230; 好難相信&#8230; 應該又係 Flex Builder 問題&#8230;)</p>
<p><strong>2) Flex 利用 unicode-range 抽出要 embed o既字</strong></p>
<pre class="brush: css; title: ; notranslate">
@font-face
{
	src: url(&quot;/fonts/標楷體.ttc&quot;);
	font-family: &quot;KaiShu&quot;;
	unicode-range: U+5011,U+6211;
}
</pre>
<p>其實利用 Flex CSS Embed font o既時候係可以透過 unicode-range 抽出某 d 字架<br />
以上面為例就會將 &#8220;們&#8221; 字同 &#8220;我&#8221; 字抽出黎啦~!<br />
究竟點解係 5011 同 6211 呢?</p>
<p>其實 5011 同 6211 係 d 字o既 unicode value in HEX<br />
想 get 一個中文字o既 unicode<br />
大家可以用呢個 Chinese to Unicode converter<br />
<a href="http://www.chinese-tools.com/tools/converter-unicode.html">http://www.chinese-tools.com/tools/converter-unicode.html</a><br />
記住要將個 result 轉返做 HEX value</p>
<p>如果大家用 Mac o既 Numbers 的話可以用下面呢個 equation</p>
<pre class="brush: vb; title: ; notranslate">
=CONCATENATE(&quot;U+&quot;,RIGHT(DEC2HEX(CODE(&quot;字&quot;)),4))
</pre>
<pre class="brush: css; title: ; notranslate">
@font-face
{
	src: url(&quot;/fonts/標楷體.ttc&quot;);
	font-family: &quot;KaiShu&quot;;
	unicode-range: U+5011-U+6211;
}
</pre>
<p>至於呢個係另一種寫法~ 將 5011 至 6211 所有字都 embed~<br />
當然大家可以 combine comma &#8220;,&#8221; 同 dash &#8220;-&#8221; 兩種寫法啦~!!</p>
<p>好: 要用o既字先 embed~ 有效控制 file size<br />
壞: 煩&#8230; 要逐粒字加都幾浪費時間&#8230;<br />
更壞: Flex Builder 應該有 bug&#8230; 當 unicode-range 後面太多野會出現 compilation error&#8230;</p>
<p><strong>3) Flash + Flex Combo = 無敵~!</strong></p>
<p>試左一整日&#8230; 放棄左一輪之後&#8230; 突然諗到o既絕技~!<br />
Flash + Flex Combo</p>
<p>首先利用 Flash dynamic text field 寫低需要o既字</p>
<p><img src="http://vicker.cubeforge.net/img/blog/flex_faq_008_01.png" alt="http://vicker.cubeforge.net/img/blog/flex_faq_008_01.png" /></p>
<p>記住要揀埋你需要o既 font<br />
跟住 set dynamic text field o既 font embedding</p>
<p><img src="http://vicker.cubeforge.net/img/blog/flex_faq_008_02.png" alt="http://vicker.cubeforge.net/img/blog/flex_faq_008_02.png" /></p>
<p>然後揀 Auto Fill~<br />
一下就掂晒~!</p>
<p><img src="http://vicker.cubeforge.net/img/blog/flex_faq_008_03.png" alt="http://vicker.cubeforge.net/img/blog/flex_faq_008_03.png" /></p>
<p>然後 Export SWF file~<br />
最後 Flex embed SWF file</p>
<pre class="brush: css; title: ; notranslate">
@font-face
{
	src: url(&quot;/fonts/font.swf&quot;);
	font-family: &quot;DFBiaoKaiShu-B5&quot;;
}
</pre>
<p>留意 font family 一欄今次唔可以隨便填<br />
一定要同 Flash 裡面寫o既完全一樣<br />
以我上面 example 為例就係 DFBiaoKaiShu-B5</p>
<p>之後就可以 compile 啦~!</p>
<p>好: 快 準 穩定<br />
壞: 要開多一個 application&#8230; =.=</p>
<p>Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2008/12/09/adobe-max-sf-day-1/' rel='bookmark' title='Adobe MAX SF day 1'>Adobe MAX SF day 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/' rel='bookmark' title='Flex FAQ #3: 點樣用 Flex FileReference 下載檔案'>Flex FAQ #3: 點樣用 Flex FileReference 下載檔案</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/07/essential-actionscript-30-and-actionscript-30-design-patterns/' rel='bookmark' title='Essential ActionScript 3.0 and ActionScript 3.0 Design Patterns'>Essential ActionScript 3.0 and ActionScript 3.0 Design Patterns</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://vicker.cubeforge.net/blog/2009/04/07/flex-faq-8-all-about-font-embedding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex FAQ #6: Layout 秘技 Part 1</title>
		<link>http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/</link>
		<comments>http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 01:42:01 +0000</pubDate>
		<dc:creator>Vicker</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex FAQ]]></category>
		<category><![CDATA[itemRenderer]]></category>
		<category><![CDATA[List]]></category>
		<category><![CDATA[maxWidth]]></category>
		<category><![CDATA[minWidth]]></category>
		<category><![CDATA[truncateToFit]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[Way Yuen]]></category>

		<guid isPermaLink="false">http://vicker.cubeforge.net/blog/?p=58</guid>
		<description><![CDATA[好多時候寫 Flex application 有大部份時間都係用o係 UI layout 雖然 Flex 既 UI layout 已經好易寫~ 但係有時想做到心目中既效果唔係咁易 舉個例我地想整一個 shopping cart list 我地會用 List + itemRenderer itemRenderer 既 content 多數係 Label + Button 通常我地都會將 Label 放埋一邊~ Button 放另一邊~ 好似咁… A List with Label and Button itemRenderer 但係有時總會出現一 d item o既名太長… 結果令到 button distort 左~ Too long label resulting distorted button [...]
Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/' rel='bookmark' title='Flex FAQ #3: 點樣用 Flex FileReference 下載檔案'>Flex FAQ #3: 點樣用 Flex FileReference 下載檔案</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/10/flex-faq-2-how-to-remove-all-the-svn-information-produced-by-subclips/' rel='bookmark' title='Flex FAQ #2: 點樣清除亂左既 subclipse .svn 資料'>Flex FAQ #2: 點樣清除亂左既 subclipse .svn 資料</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>好多時候寫 Flex application 有大部份時間都係用o係 UI layout<br />
雖然 Flex 既 UI layout 已經好易寫~ 但係有時想做到心目中既效果唔係咁易</p>
<p>舉個例我地想整一個 shopping cart list<br />
我地會用 List + itemRenderer<br />
itemRenderer 既 content 多數係 Label + Button<br />
通常我地都會將 Label 放埋一邊~ Button 放另一邊~ 好似咁…</p>
<p><img src="http://vicker.cubeforge.net/img/blog/flex_faq_006_01.png" alt="" /><br />
A List with Label and Button itemRenderer</p>
<p>但係有時總會出現一 d item o既名太長…<br />
結果令到 button distort 左~</p>
<p><img src="http://vicker.cubeforge.net/img/blog/flex_faq_006_02.png" alt="" /><br />
Too long label resulting distorted button</p>
<p>解決方法係利用 Label o既 truncateToFit<br />
而用 truncateToFit o既時候一定要 define minWidth 或者 maxWidth<br />
直覺上當然係用 maxWidth 啦~</p>
<p>計法就係:<br />
maxWidth = itemRenderer width &#8211; Button width &#8211; horizontalGap</p>
<p>但係呢種做法首先非常煩~ 而且容易錯<br />
再諗下如果 Button width 轉咁點算呢…<br />
重新計過…<br />
當然可以用 data binding 解決… 但係你諗下咁樣做 d code 係幾咁長…</p>
<p>咁有無終極方法呢?<br />
有… 但係唔容易明… 竟然係用 minWidth</p>
<pre class="brush: xml; title: ; notranslate">
&lt;mx:itemRenderer&gt;
    &lt;mx:Component&gt;
        &lt;mx:HBox&gt;
            &lt;mx:Label width=&quot;100%&quot; minWidth=&quot;0&quot; text=&quot;{data.label}&quot; truncateToFit=&quot;true&quot; /&gt;
            &lt;mx:Button label=&quot;{outerDocument._button_label}&quot; /&gt;
        &lt;/mx:HBox&gt;
    &lt;/mx:Component&gt;
&lt;/mx:itemRenderer&gt;
</pre>
<p>後來同 Way discuss 之後諗諗下都有道理<br />
因為 truncateToFit 先決係 minWidth 或者 maxWidth 要 set<br />
如果 set minWidth = 0 其實無影響 layout 但係會開著 truncateToFit<br />
然後 set width = 100% 就可以解決…</p>
<p>總之有時寫 Flex UI 要寫得好~<br />
個腦係要 Flex-ible 一 d….</p>
<p><a href="http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/"><em>Click here to view the embedded video.</em></a></p>
<p>English title: Layout 101 Part 1</p>
<p>Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/' rel='bookmark' title='Flex FAQ #3: 點樣用 Flex FileReference 下載檔案'>Flex FAQ #3: 點樣用 Flex FileReference 下載檔案</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/10/flex-faq-2-how-to-remove-all-the-svn-information-produced-by-subclips/' rel='bookmark' title='Flex FAQ #2: 點樣清除亂左既 subclipse .svn 資料'>Flex FAQ #2: 點樣清除亂左既 subclipse .svn 資料</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex FAQ #5: 點樣做 Full Screen Application</title>
		<link>http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/</link>
		<comments>http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 02:23:42 +0000</pubDate>
		<dc:creator>Vicker</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex FAQ]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[displayState]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[full screen]]></category>
		<category><![CDATA[stage]]></category>
		<category><![CDATA[StageDisplayState]]></category>

		<guid isPermaLink="false">http://vicker.cubeforge.net/blog/?p=68</guid>
		<description><![CDATA[Flex application 有一個特點就係可以完全跳出 web browser o既框架 Adobe AIR 當然係其中一種做法~ 但係 Flash player 本身 support full screen mode 所以直接用 full screen mode 就比起 AIR 直接同快喇~! 要用 full screen mode 首先要改動 SWFObject 或者 Object tag 主要係加入 allowFullScreen 呢個 parameter 以 Flex Builder o既 HTML template 為例 SWFObject: Object tag: (要留意加左兩個地方~!) 之後 within Flex application 就可以利用 stage.displayState 開動 [...]
Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2009/01/07/adobe-max-sf-day-2/' rel='bookmark' title='Adobe MAX SF day 2'>Adobe MAX SF day 2</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/12/09/adobe-max-sf-day-1/' rel='bookmark' title='Adobe MAX SF day 1'>Adobe MAX SF day 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/' rel='bookmark' title='Flex FAQ #3: 點樣用 Flex FileReference 下載檔案'>Flex FAQ #3: 點樣用 Flex FileReference 下載檔案</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Flex application 有一個特點就係可以完全跳出 web browser o既框架<br />
Adobe AIR 當然係其中一種做法~<br />
但係 Flash player 本身 support full screen mode<br />
所以直接用 full screen mode 就比起 AIR 直接同快喇~!</p>
<p>要用 full screen mode 首先要改動 SWFObject 或者 Object tag<br />
主要係加入 allowFullScreen 呢個 parameter<br />
以 Flex Builder o既 HTML template 為例</p>
<p><strong>SWFObject:</strong></p>
<pre class="brush: jscript; title: ; notranslate">
AC_FL_RunContent(
    &quot;src&quot;, &quot;${swf}&quot;,
    &quot;width&quot;, &quot;${width}&quot;,
    &quot;height&quot;, &quot;${height}&quot;,
    &quot;align&quot;, &quot;middle&quot;,
    &quot;id&quot;, &quot;${application}&quot;,
    &quot;quality&quot;, &quot;high&quot;,
    &quot;bgcolor&quot;, &quot;${bgcolor}&quot;,
    &quot;name&quot;, &quot;${application}&quot;,
    &quot;allowScriptAccess&quot;,&quot;sameDomain&quot;,
    &quot;type&quot;, &quot;application/x-shockwave-flash&quot;,
    &quot;pluginspage&quot;, &quot;http://www.adobe.com/go/getflashplayer&quot;
);
</pre>
<p><strong>Object tag:</strong> (要留意加左兩個地方~!)</p>
<pre class="brush: xml; title: ; notranslate">
&lt;object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot;
id=&quot;${application}&quot; width=&quot;${width}&quot; height=&quot;${height}&quot;
codebase=&quot;http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab&quot;&gt;
    &lt;param name=&quot;movie&quot; value=&quot;${swf}.swf&quot; /&gt;
    &lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;
    &lt;param name=&quot;bgcolor&quot; value=&quot;${bgcolor}&quot; /&gt;
    &lt;param name=&quot;allowScriptAccess&quot; value=&quot;sameDomain&quot; /&gt;
    &lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;
    &lt;embed src=&quot;${swf}.swf&quot; quality=&quot;high&quot; bgcolor=&quot;${bgcolor}&quot;
        width=&quot;${width}&quot; height=&quot;${height}&quot; name=&quot;${application}&quot; align=&quot;middle&quot;
        play=&quot;true&quot;
        loop=&quot;false&quot;
        quality=&quot;high&quot;
        allowScriptAccess=&quot;sameDomain&quot;
        allowFullScreen=&quot;true&quot;
        type=&quot;application/x-shockwave-flash&quot;
        pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot;&gt;
    &lt;/embed&gt;
&lt;/object&gt;
</pre>
<p>之後 within Flex application 就可以利用 stage.displayState 開動 full screen</p>
<pre class="brush: jscript; title: ; notranslate">
stage.displayState = StageDisplayState.FULL_SCREEN;
</pre>
<p>如果想做到 toggle full screen effect 可以利用簡單既 if… else… statement</p>
<pre class="brush: jscript; title: ; notranslate">
if (stage.displayState == StageDisplayState.NORMAL)
{
    stage.displayState = StageDisplayState.FULL_SCREEN;
}
else
{
    stage.displayState = StageDisplayState.NORMAL;
}
</pre>
<p>但係要留意一點~ Full screen mode o既所有 text field 係唔可以 edit 架…<br />
講真… 咁o既 limitation 可以話將個 application 廢左武功…<br />
暫時都無解決辦法… Astro 都唔得…</p>
<p>Adobe Labs &#8211; Flash Player 10 Beta Release Notes<br />
<a href="http://labs.adobe.com/technologies/flashplayer10/releasenotes.html">http://labs.adobe.com/technologies/flashplayer10/releasenotes.html</a></p>
<blockquote><p>Limited Fullscreen Keyboard Access — In Flash Player 10, key events are supported for non-printing keys such as arrows, shift, enter, tab, space, etc.  Limited access to the keyboard will allow fullScreen games and video controls with keyboard access in a secure way.</p></blockquote>
<p>背後o既原因係擔心有人 develop 假既 OS login page…<br />
都好無奈… 如果咁既話所有 web browser o既 full screen mode 都應該 disable text input…</p>
<p>Adobe Labs &#8211; Talk:Flash Player:9:Update:Full-Screen Mode<br />
<a href="http://labs.adobe.com/wiki/index.php/Talk:Flash_Player:9:Update:Full-Screen_Mode#Why_suspend_key_input.3F">http://labs.adobe.com/wiki/index.php/Talk:Flash_Player:9:Update:Full-Screen_Mode#Why_suspend_key_input.3F</a></p>
<blockquote><p>When considering this feature, several security concerns impacted our decisions for this first release. The reason keyboard input was blocked was to help prevent phishing attacks using Flash, where full-screen is used to simulate a log-in screen, someone else’s website, etc. This also impacted our decision to add the overlay to visually inform the user that something had changed and they were in a new state.</p></blockquote>
<p>English title: How to develop full screen application</p>
<p>Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2009/01/07/adobe-max-sf-day-2/' rel='bookmark' title='Adobe MAX SF day 2'>Adobe MAX SF day 2</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/12/09/adobe-max-sf-day-1/' rel='bookmark' title='Adobe MAX SF day 1'>Adobe MAX SF day 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/' rel='bookmark' title='Flex FAQ #3: 點樣用 Flex FileReference 下載檔案'>Flex FAQ #3: 點樣用 Flex FileReference 下載檔案</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex FAQ #3: 點樣用 Flex FileReference 下載檔案</title>
		<link>http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/</link>
		<comments>http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/#comments</comments>
		<pubDate>Fri, 17 Aug 2007 01:05:25 +0000</pubDate>
		<dc:creator>Vicker</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex FAQ]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[FileReference]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[URLRequest]]></category>

		<guid isPermaLink="false">http://vicker.cubeforge.net/blog/?p=104</guid>
		<description><![CDATA[本來呢個問題應該好簡單~ 基本上一個 ActionScript developer 可以即時答得出 但係原來o係某 d 情況佢係會 malfunction 既… 而且係你估都估唔到~ 加上玩足你幾個鐘… 為免大家中招所以寫左呢個 example 睇落好似無分別~就算 click “這個不能下載” 都出現左下載畫面但係當你以為 download 左既時候… 你會發覺乜都見唔到…其實問題係在於 FileReference o既 instance declaration method如果o係 function 裡面 declare 既 temporary variable當 function 完成之後 FileReference instance 就會o係 select event 之前消失結果… download 左個桔… 解決方法係將 FileReference instance 放o係 class member variable 其實呢個問題… 都幾荒謬… 不過可以玩謝好多 developer…Adobe o既 Technote [...]
Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2009/01/07/adobe-max-sf-day-2/' rel='bookmark' title='Adobe MAX SF day 2'>Adobe MAX SF day 2</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/07/essential-actionscript-30-and-actionscript-30-design-patterns/' rel='bookmark' title='Essential ActionScript 3.0 and ActionScript 3.0 Design Patterns'>Essential ActionScript 3.0 and ActionScript 3.0 Design Patterns</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>本來呢個問題應該好簡單~<br />
基本上一個 ActionScript developer 可以即時答得出</p>
<pre class="brush: jscript; title: ; notranslate">
var t_file_ref:FileReference = new FileReference ();
var t_url_request:URLRequest = new URLRequest (&quot;some_path/some_file.type&quot;);
t_file_ref.download (t_url_request);
</pre>
<p>但係原來o係某 d 情況佢係會 malfunction 既…<br />
而且係你估都估唔到~ 加上玩足你幾個鐘…</p>
<p>為免大家中招所以寫左呢個 example</p>
<p><a href="http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/"><em>Click here to view the embedded video.</em></a></p>
<p>睇落好似無分別~就算 click “這個不能下載” 都出現左下載畫面但係當你以為 download 左既時候…<br />
你會發覺乜都見唔到…其實問題係在於 FileReference o既 instance declaration method如果o係 function<br />
裡面 declare 既 temporary variable當 function 完成之後 FileReference instance 就會o係 select event 之前消失結果… download 左個桔…<br />
解決方法係將 FileReference instance 放o係 class member variable</p>
<pre class="brush: jscript; title: ; notranslate">
public class some_class
{
    private var _file_ref:FileReference;
    function some_function ()
    {
        this._file_ref = new FileReference ();
        ...
    }
}
</pre>
<p>其實呢個問題… 都幾荒謬… 不過可以玩謝好多 developer…Adobe o既 Technote 有詳細解釋~<br />
<a href="http://kb.adobe.com/selfservice/viewContent.do?externalId=3637d5c3&amp;sliceId=1">http://kb.adobe.com/selfservice/viewContent.do?externalId=3637d5c3&amp;sliceId=1</a></p>
<p>English title: How to download a file in Flex using FileReference</p>
<p>Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2009/01/07/adobe-max-sf-day-2/' rel='bookmark' title='Adobe MAX SF day 2'>Adobe MAX SF day 2</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/07/essential-actionscript-30-and-actionscript-30-design-patterns/' rel='bookmark' title='Essential ActionScript 3.0 and ActionScript 3.0 Design Patterns'>Essential ActionScript 3.0 and ActionScript 3.0 Design Patterns</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex FAQ #2: 點樣清除亂左既 subclipse .svn 資料</title>
		<link>http://vicker.cubeforge.net/blog/2007/08/10/flex-faq-2-how-to-remove-all-the-svn-information-produced-by-subclips/</link>
		<comments>http://vicker.cubeforge.net/blog/2007/08/10/flex-faq-2-how-to-remove-all-the-svn-information-produced-by-subclips/#comments</comments>
		<pubDate>Fri, 10 Aug 2007 00:45:35 +0000</pubDate>
		<dc:creator>Vicker</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex FAQ]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Subclipse]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://vicker.cubeforge.net/blog/?p=107</guid>
		<description><![CDATA[相信用 Flex Builder 或者 Eclipse 既人都會裝埋 Subclipse Subclipse 的確令到 project source control 輕鬆好多 但係當你需要做 project folder relocation 或者 project import 就會出現好多問題 舉個例~ 你有一堆 svn 左既 Flex Builder 2 projects 要轉去 Flex Builder 3… 最穩陣既方法相信係 FB2 svn commit 左~ 然後 FB3 checkout 返~ 但係如果你選擇 direct copy / project import~ 就會有機會出現舊既 .svn data remove 唔到~ 然後無辦法重新 connect [...]
Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/' rel='bookmark' title='Flex FAQ #6: Layout 秘技 Part 1'>Flex FAQ #6: Layout 秘技 Part 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/' rel='bookmark' title='Flex FAQ #3: 點樣用 Flex FileReference 下載檔案'>Flex FAQ #3: 點樣用 Flex FileReference 下載檔案</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>相信用 Flex Builder 或者 Eclipse 既人都會裝埋 Subclipse<br />
Subclipse 的確令到 project source control 輕鬆好多<br />
但係當你需要做 project folder relocation 或者 project import 就會出現好多問題</p>
<p>舉個例~ 你有一堆 svn 左既 Flex Builder 2 projects 要轉去 Flex Builder 3…<br />
最穩陣既方法相信係 FB2 svn commit 左~ 然後 FB3 checkout 返~<br />
但係如果你選擇 direct copy / project import~<br />
就會有機會出現舊既 .svn data remove 唔到~ 然後無辦法重新 connect svn…</p>
<p>解決方法係人手逐個 .svn delete… =.=||</p>
<p>講笑~ 哈哈</p>
<p>Mac o既 user 會比較幸福~ 因為一句 command 就可以攪掂</p>
<pre class="brush: css; title: ; notranslate">

find . -name .svn -print0 | xargs -0 rm -rf
</pre>
<p>如果出現 operation not permitted 可以試下加 sudo</p>
<pre class="brush: css; title: ; notranslate">

find . -name .svn -print0 | xargs -0 sudo rm -rf
</pre>
<p>參考文章:</p>
<p>SVN on OSX by SIMPLESTATION<br />
<a href="http://www.simplestation.com/journal/how-to-use-svn-on-os-x/">http://www.simplestation.com/journal/how-to-use-svn-on-os-x/</a></p>
<p>English title: How to remove all the .svn information produced by subclipse</p>
<p>Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/' rel='bookmark' title='Flex FAQ #6: Layout 秘技 Part 1'>Flex FAQ #6: Layout 秘技 Part 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/' rel='bookmark' title='Flex FAQ #3: 點樣用 Flex FileReference 下載檔案'>Flex FAQ #3: 點樣用 Flex FileReference 下載檔案</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://vicker.cubeforge.net/blog/2007/08/10/flex-faq-2-how-to-remove-all-the-svn-information-produced-by-subclips/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex FAQ #1: 點樣令 Flex 程式開始時將 cursor 指定係某一個 TextInput 裡面</title>
		<link>http://vicker.cubeforge.net/blog/2007/08/04/flex-faq-1-how-to-place-flex-applications-input-cursor-focus-on-a-specific-textinput-control-by-defaul/</link>
		<comments>http://vicker.cubeforge.net/blog/2007/08/04/flex-faq-1-how-to-place-flex-applications-input-cursor-focus-on-a-specific-textinput-control-by-defaul/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 02:04:02 +0000</pubDate>
		<dc:creator>Vicker</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex FAQ]]></category>
		<category><![CDATA[cursor]]></category>
		<category><![CDATA[setFocus]]></category>
		<category><![CDATA[TextInput]]></category>

		<guid isPermaLink="false">http://vicker.cubeforge.net/blog/?p=115</guid>
		<description><![CDATA[今日開始會寫返多 d technical articles~ 我見好多人都會問呢個問題~ 點樣將 input text 既 cursor by default set 去某一個 TextInput component. 其實方法好簡單~ 只需要利用 setFocus function 但係大家會發現當 application load 完之後直接打字都係唔 work. 其實只要大家o係 Flex application 任何一個位置 click 一下就得喇. 咁樣 click 一下似乎有 d 笨… 但係呢個應該係 browser 或者 Flash player 既 issue~ Flash player 需要你 click 佢一下以確認你既 focus point 係 Flex application 而唔係 HTML [...]
Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/' rel='bookmark' title='Flex FAQ #6: Layout 秘技 Part 1'>Flex FAQ #6: Layout 秘技 Part 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/' rel='bookmark' title='Flex FAQ #3: 點樣用 Flex FileReference 下載檔案'>Flex FAQ #3: 點樣用 Flex FileReference 下載檔案</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>今日開始會寫返多 d technical articles~</p>
<p>我見好多人都會問呢個問題~<br />
點樣將 input text 既 cursor by default set 去某一個 TextInput component.<br />
其實方法好簡單~ 只需要利用 setFocus function</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=”1.0″ encoding=”utf-8″?&gt;
&lt;mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” creationComplete=”{this.t_ti.setFocus ();}”&gt;
&lt;mx:TextInput id=”t_ti” /&gt;
&lt;/mx:Application&gt;
</pre>
<p>但係大家會發現當 application load 完之後直接打字都係唔 work.<br />
其實只要大家o係 Flex application 任何一個位置 click 一下就得喇.<br />
咁樣 click 一下似乎有 d 笨… 但係呢個應該係 browser 或者 Flash player 既 issue~<br />
Flash player 需要你 click 佢一下以確認你既 focus point 係 Flex application 而唔係 HTML</p>
<p><a href="http://vicker.cubeforge.net/blog/2007/08/04/flex-faq-1-how-to-place-flex-applications-input-cursor-focus-on-a-specific-textinput-control-by-defaul/"><em>Click here to view the embedded video.</em></a></p>
<p>English title: How to place Flex application’s input cursor focus on a specific TextInput control by default</p>
<p>Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/' rel='bookmark' title='Flex FAQ #6: Layout 秘技 Part 1'>Flex FAQ #6: Layout 秘技 Part 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2007/08/17/flex-faq-3-how-to-download-a-file-in-flex-using-filereference/' rel='bookmark' title='Flex FAQ #3: 點樣用 Flex FileReference 下載檔案'>Flex FAQ #3: 點樣用 Flex FileReference 下載檔案</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://vicker.cubeforge.net/blog/2007/08/04/flex-faq-1-how-to-place-flex-applications-input-cursor-focus-on-a-specific-textinput-control-by-defaul/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

