Adobe Flex迷你教程 — 实现类似新浪微博评论消息容器

       今晚刷微博的时候,发现新浪微博的评论容器挺好玩的,上面有个小三角,用来指示这条评论是上面那条微博的。

正好,在做网络监控的时候,点击一个物理机,底下也可以出现像新浪微博评论这样的容器,用来装这个物理机下面所有

的虚拟机。家里停电了,就来朋友公司简单的写了个demo,欢迎各位朋友给出不同意见。

运行后效果如下:

 主程序:  myApp.mxml

<?xml version="1.0" encoding="utf-8"?>
<!-- 
* Created with IntelliJ IDEA.
* User: DongYang
* Date: 13-3-23
* Time: 下午9:45
* Progress every day a little more -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" 
               minWidth="955" minHeight="600" xmlns:item="item.*">

<item:MySkinnable width="242" height="131" x="100" y="100">
    <s:Label x="31" y="51" width="214" height="34" fontSize="32" fontStyle="italic" fontWeight="bold"
             text="I Love You!"/>
</item:MySkinnable>
</s:Application>

容器:item/MySkinnable.as

/**
 * Created with IntelliJ IDEA.
 * User: DongYang
 * Date: 13-3-23
 * Time: 下午9:41
 * Progress every day a little more.
 */
package item
{
    import spark.components.SkinnableContainer;
    
    public class MySkinnable extends SkinnableContainer
    {
        public function MySkinnable()
        {
            super();
        }
        
        override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
        {
            this.graphics.clear();
            this.graphics.lineStyle(2,0xeff8fe,1);
            this.graphics.beginFill(0xADFF2F,1);
            this.graphics.moveTo(0,0);
            this.graphics.lineTo(20,0);
            this.graphics.lineTo(28,-8);
            this.graphics.lineTo(38,0);
            this.graphics.lineTo(width,0);
            this.graphics.lineTo(width,height);
            this.graphics.lineTo(0,height);
            this.graphics.lineTo(0,0);
            this.graphics.endFill();
            super.updateDisplayList(unscaledWidth, unscaledHeight);
        }
        
        
    }
}

 

 

posted @ 2013-03-23 22:19  羊皮稿  阅读(929)  评论(3编辑  收藏  举报