`
chensong215
  • 浏览: 27289 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

2012-03-29 15:05 Spark主题下调整Canvas的边框样式

    博客分类:
  • flex
 
阅读更多
在Halo主题下,可用borderThickness、borderSides等样式来精确控制边框,但在Spark主题下,默认是不支持的,没办法,只好自己扩展

1、自定义类

package {
import mx.containers.Canvas;

[Style(name = "borderThickness")]
[Style(name = "borderSides")]
public class CCanvas extends Canvas {
  public function CCanvas() {
   super();
  }
}
}


2、自定义皮肤

package {
import flash.display.Graphics;

import mx.skins.halo.HaloBorder;


public class CHaloBorder extends HaloBorder {

  override protected function updateDisplayList(w:Number, h:Number):void {
   super.updateDisplayList(w, h);
   var g:Graphics = graphics;
   g.clear();
   var borderColor:uint = this.getStyle("borderColor");
   var borderThickness:int = this.getStyle('borderThickness');
   g.beginFill(borderColor);
   g.lineStyle(borderThickness, borderColor);
   var borderSides:String = this.getStyle('borderSides');

   if (borderSides.indexOf("left") != -1) {
    g.moveTo(0, 0);
    g.lineTo(0, h)
   }
   if (borderSides.indexOf("top") != -1) {
    g.moveTo(0, 0);
    g.lineTo(w, 0)
   }

   if (borderSides.indexOf("right") != -1) {
    g.moveTo(w, 0);
    g.lineTo(w, h)
   }

   if (borderSides.indexOf("bottom") != -1) {
    g.moveTo(0, h);
    g.lineTo(w, h)
   }
   g.endFill();
  }
}
}
3、测试类

<?xml version="1.0" encoding="utf-8"?>
<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:local="*">
<s:layout>
  <s:BasicLayout/>
</s:layout>
<local:CCanvas x="50" y="50" id="canvas" width="300" height="300" borderThickness="1" borderSides="left top right bottom"
       borderColor="blue" borderSkin="CHaloBorder"/>
</s:Application>
0
0
分享到:
评论

相关推荐

    微博的搜索引擎优化价值分析等资料.rar

    2012-05-27 11:03 5,876,128 Android中文API.pdf 2012-05-27 11:03 1,349,809 Business Objects入门教程(1).pdf 2012-05-27 11:03 1,349,809 Business Objects入门教程.pdf 2012-05-27 11:02 22,486,569 C++语言的...

    资料合集.part2.rar

    2012-05-27 11:03 5,876,128 Android中文API.pdf 2012-05-27 11:03 1,349,809 Business Objects入门教程(1).pdf 2012-05-27 11:03 1,349,809 Business Objects入门教程.pdf 2012-05-27 11:02 22,486,569 C++语言的...

    资料合集.part1.rar

    2012-05-27 11:03 5,876,128 Android中文API.pdf 2012-05-27 11:03 1,349,809 Business Objects入门教程(1).pdf 2012-05-27 11:03 1,349,809 Business Objects入门教程.pdf 2012-05-27 11:02 22,486,569 C++语言的...

    Android下使用Canvas画图

    在Android平台上,Canvas是用于在屏幕上绘制图形的重要工具。它提供了丰富的绘图API,使得开发者可以自由地在Bitmap、SurfaceView或View上绘制线条、形状、文本以及自定义的复杂图像。本文将深入探讨Android中Canvas...

    Delphi中canvas(画布)运用

    ### Delphi中Canvas(画布)运用 在Delphi编程中,`Canvas`是一个非常重要的概念,它提供了绘制图形的基本工具。本文将详细介绍Delphi中`Canvas`的基础知识及其应用场景。 #### 一、Canvas的基本概念 `Canvas`是...

    Foundation.Html5.Canvas

    - `&lt;head&gt;`:包含元数据,如字符集、样式表链接和页面标题。 - `&lt;body&gt;`:包含页面的可见内容。 #### `&lt;canvas&gt;` 的使用 - **初始化**: ```html &lt;canvas id="exampleCanvas" width="400" height="400"&gt;&lt;/...

    Curved UI - VR Ready Solution To Bend:Warp Your Canvas.unitypackage

    Curved UI - VR Ready Solution To Bend:Warp Your Canvas.unitypackage,Unity Asset Store $25.全面展示了VR界面设计的应用,是全面UI设计比较好的学习资料。

    关于HTML5 canvas 所有API的分类列表图

    - `font`: 设置字体样式。 - `textAlign` 和 `textBaseline`: 控制文本的对齐方式和基线。 6. **颜色和渐变(Colors and Gradients)** - `globalAlpha`: 设置整个画布的透明度。 - `globalCompositeOperation`...

    FusionCharts_参数大全

    #### 画布(Canvas) 画布参数涉及图表整体的外观调整,包括背景色、透明度、边界等。 - **canvasbgColor**:画布背景色,支持单色或渐变效果。 - **canvasbgAlpha**:画布背景透明度。 - **canvasBgRatio**:渐变...

    高级java笔试题-F2E-Tutorial-Collect:web全栈书签收藏整理

    2015-03-05 11:41 2015-03-13 20:02 2015-06-05 15:37 2015-07-21 18:13 2015-07-30 19:33 2015-09-16 18:16 2016-08-29 14:43 2017-08-03 09:18 2018-04-27 16:08 2018-04-27 16:10 2018-04-27 22:56 2018-04-28 21...

    Android应用源码之(Canvas画布)(-IT计算机-毕业设计.zip

    在Android应用开发中,Canvas是绘制图形的核心组件,它提供了在Bitmap或者其他图形表面进行绘图的方法。本项目源码深入探讨了如何利用Canvas在Android应用中实现画布操作,非常适合毕业设计或移动开发App的学习者...

    Android Canvas画布使用Demo源码.rar

    在Android开发中,Canvas是图形绘制的核心工具,它允许开发者在Bitmap或者其他图形表面进行绘画操作。这个"Android Canvas画布使用Demo源码.rar"压缩包很可能是为了展示如何在实际项目中利用Canvas来创建自定义视图...

    微信小程序 uni-app wxml-to-canvas 小程序内通过静态模板和样式绘制 canvas ,导出图片,可用于生成分

    【微信小程序 uni-app wxml-to-canvas】是一个用于在微信小程序中利用静态模板和样式来绘制canvas,并最终能够导出为图片的工具。这个技术在实际应用中特别适合用来生成分享图,即用户在社交平台上分享时看到的个性...

    Canvas的经典用法

    这个“Canvas的经典用法”可能包含了多个实例,帮助我们深入理解并掌握Canvas的基本操作和高级特性。 1. **基本概念与设置** - `canvas`元素:在HTML中,我们通过`&lt;canvas&gt;`标签来创建一个画布,它是一个矩形区域...

    canvas实现涂鸦效果

    "canvas实现涂鸦效果"这个主题涉及到的是如何利用Canvas API来创建一个具有涂鸦功能的画板应用。下面将详细讲解实现这一功能所涉及的关键知识点。 1. **Canvas API基础**: - `canvas`元素:HTML5中的`&lt;canvas&gt;`...

    Mr-Sprite-Canvas-Game:Mr Sprite帆布游戏练习

    《Mr-Sprite-Canvas-Game:使用JavaScript实现帆布游戏实践》 在现代网页开发中,JavaScript作为一种强大的脚本语言,被广泛应用于交互式界面和动态内容的创建。本项目"Mr-Sprite-Canvas-Game"是基于JavaScript的...

    用canvas画的会走的钟

    - 根据窗口大小调整画布尺寸,保持钟的比例不变,确保在不同设备和分辨率下都能正常显示。 通过以上步骤,我们可以创建一个实时更新且能在网页上流畅运行的Canvas时钟。这个实例对于理解Canvas绘图、时间处理以及...

    Android利用canvas画各种图形源码下载

    在Android开发中,Canvas是Android图形系统的核心组件之一,它允许开发者在屏幕上绘制各种复杂的图形。这个源码包显然提供了示例代码,演示了如何利用Canvas在Android应用中绘制不同的图形。下面我们将深入探讨...

Global site tag (gtag.js) - Google Analytics