顯示具有 Flex 標籤的文章。 顯示所有文章
顯示具有 Flex 標籤的文章。 顯示所有文章

2011年12月5日

TextLayoutFramework 簡單測試



TextLayoutFramework是Flex上一功能齊全的文字編輯器。
它比RichTextEditor的功能還要齊全,可以顯示使用者電腦上的字體,排版等。


// 宣告一個TextArea對象                   
var textarea:TextArea = new TextArea();
textarea.editable = false;
textarea.percentHeight = 100;
textarea.percentWidth = 100;
                      
// 用TextLayout Framework編輯出來的字串
var string:String = "<flow:TextFlow direction='ltr' blockProgression='tb' whiteSpaceCollapse='preserve' xmlns:flow='http://ns.adobe.com/textLayout/2008'><flow:p><flow:span fontSize='48' fontFamily='文泉驛微米黑'><flow:tab/>測試</flow:span></flow:p><flow:p><flow:span fontSize='48' fontFamily='文泉驛微米黑'></flow:span></flow:p><flow:p><flow:span fontSize='48' fontFamily='文泉驛微米黑'></flow:span></flow:p><flow:p textAlign='center'><flow:span fontSize='48' fontFamily='華康巧風體W1'>測</flow:span><flow:span fontSize='48' fontFamily='Mixed'>試</flow:span></flow:p><flow:p><flow:span fontSize='48' fontFamily='華康巧風體W1'></flow:span></flow:p><flow:p><flow:span fontSize='48' fontFamily='文泉驛微米黑'></flow:span></flow:p><flow:p><flow:span fontSize='48' fontFamily='文泉驛微米黑'></flow:span></flow:p></flow:TextFlow>";
                      
// 宣告一個TextFlow對象
var textflow:TextFlow = new TextFlow();
textflow = TextFlowUtil.importFromString(string, WhiteSpaceCollapse.PRESERVE);
                      
// 將TextFlow對象設定給TextArea
textarea.textFlow = textflow;




預覽圖片 :

2011年8月30日

Flex in Mobile(第五篇、Mobile Guesture使用方法)


在Flex中要使用手勢也是非常簡單的,我們只要為我們的應用添加手勢的監聽器,然後在監聽器中進行項對應的處理即可完成,這與Android上的Guesture操作上來比較的話,的確簡單了許多,趕快來看怎麼實現吧。

<fx:Script>
        <!
[CDATA[
            protected function init
():void
            
{
                addEventListener
(TransformGestureEvent.GESTURE_SWIPE, swipeHandler);
            
}
            
            protected function swipeHandler
(event:TransformGestureEvent):void
            
{
                
if(event.offsetX == -1)
                
{
                    navigator.
pushView(views.Tour3);
                
}
                
else if(event.offsetX == 1) 
                
{

                    navigator.popView();
                
}
            
}
            
        
]]>
    </fx:Script>

使用方法非常簡單,只需要讓我們的應用監聽TransformGestureEvent.GESTURE_SWIPE事件,然後從event中取得offsetX 即可得知我們的手勢是向左或是向右做滑動囉。

Flex in Mobile(第四篇、Mobile觸碰螢幕操作方法)


首先創建一個新的Moblie專案,在views中添加新的view,命名為MultiTouchView
,然後在MXML中天下以下程式碼 :


<fx:Declarations>
        <fx
:Component className="Circle">
            <s
:Ellipse width="140" height="140">
                <s
:fill>
                    <s
:SolidColor color="blue" />
                </s
:fill>
            </s
:Ellipse>
        </fx
:Component>
</fx
:Declarations> 


在Script區塊新增下面程式碼
<![CDATA[

            protected var circles:
Object = new Object();
            
            protected function init
():void
            
{

                Multitouch.
inputMode = MultitouchInputMode.TOUCH_POINT;
                

                
this.stage.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin);
                
this.stage.addEventListener(TouchEvent.TOUCH_END, onTouchEnd);
                
this.stage.addEventListener(TouchEvent.TOUCH_MOVE, onTouchMove);
            
}

            protected function onTouchBegin
(event:TouchEvent):void
            
{
                var c:Circle = new Circle
();
                c.
x = event.localX -70;
                c.
y = event.localY -70;
                addElement
(c);
                circles
[event.touchPointID] = c;
            
}
            

            protected function onTouchEnd
(event:TouchEvent):void
            
{
                
if (circles[event.touchPointID] != null)
                
{
                    removeElement
(circles[event.touchPointID]);
                    
delete circles[event.touchPointID];
                
}
            
}


            protected function onTouchMove
(event:TouchEvent):void
            
{
                
if (circles[event.touchPointID] != null)
                
{
                    circles
[event.touchPointID].x = event.localX -70;
                    circles
[event.touchPointID].y = event.localY - 70;
                
}
            
}
        
]]>

這段程式碼首先定義了一個自訂元件Circle,並使用橢圓形繪製,然後在程式碼區塊中宣告了它的引用,在初始化函式中我將螢幕的inputMode更改為MultitouchInputMode.TOUCH_POINT模式才能支援多點,並且讓我們的顯示螢幕(stage)監聽了三個事件,分別為觸碰開始、觸碰移動、觸碰結束,分別對這些事件使用不同方式處理。

完成!!
將它運行在你的實體機器上,就可以測試了!!

ShareThis