在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>
分享到:
相关推荐
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++语言的...
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++语言的...
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是用于在屏幕上绘制图形的重要工具。它提供了丰富的绘图API,使得开发者可以自由地在Bitmap、SurfaceView或View上绘制线条、形状、文本以及自定义的复杂图像。本文将深入探讨Android中Canvas...
### Delphi中Canvas(画布)运用 在Delphi编程中,`Canvas`是一个非常重要的概念,它提供了绘制图形的基本工具。本文将详细介绍Delphi中`Canvas`的基础知识及其应用场景。 #### 一、Canvas的基本概念 `Canvas`是...
- `<head>`:包含元数据,如字符集、样式表链接和页面标题。 - `<body>`:包含页面的可见内容。 #### `<canvas>` 的使用 - **初始化**: ```html <canvas id="exampleCanvas" width="400" height="400"></...
Curved UI - VR Ready Solution To Bend:Warp Your Canvas.unitypackage,Unity Asset Store $25.全面展示了VR界面设计的应用,是全面UI设计比较好的学习资料。
- `font`: 设置字体样式。 - `textAlign` 和 `textBaseline`: 控制文本的对齐方式和基线。 6. **颜色和渐变(Colors and Gradients)** - `globalAlpha`: 设置整个画布的透明度。 - `globalCompositeOperation`...
#### 画布(Canvas) 画布参数涉及图表整体的外观调整,包括背景色、透明度、边界等。 - **canvasbgColor**:画布背景色,支持单色或渐变效果。 - **canvasbgAlpha**:画布背景透明度。 - **canvasBgRatio**:渐变...
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是绘制图形的核心组件,它提供了在Bitmap或者其他图形表面进行绘图的方法。本项目源码深入探讨了如何利用Canvas在Android应用中实现画布操作,非常适合毕业设计或移动开发App的学习者...
在Android开发中,Canvas是图形绘制的核心工具,它允许开发者在Bitmap或者其他图形表面进行绘画操作。这个"Android Canvas画布使用Demo源码.rar"压缩包很可能是为了展示如何在实际项目中利用Canvas来创建自定义视图...
【微信小程序 uni-app wxml-to-canvas】是一个用于在微信小程序中利用静态模板和样式来绘制canvas,并最终能够导出为图片的工具。这个技术在实际应用中特别适合用来生成分享图,即用户在社交平台上分享时看到的个性...
这个“Canvas的经典用法”可能包含了多个实例,帮助我们深入理解并掌握Canvas的基本操作和高级特性。 1. **基本概念与设置** - `canvas`元素:在HTML中,我们通过`<canvas>`标签来创建一个画布,它是一个矩形区域...
"canvas实现涂鸦效果"这个主题涉及到的是如何利用Canvas API来创建一个具有涂鸦功能的画板应用。下面将详细讲解实现这一功能所涉及的关键知识点。 1. **Canvas API基础**: - `canvas`元素:HTML5中的`<canvas>`...
《Mr-Sprite-Canvas-Game:使用JavaScript实现帆布游戏实践》 在现代网页开发中,JavaScript作为一种强大的脚本语言,被广泛应用于交互式界面和动态内容的创建。本项目"Mr-Sprite-Canvas-Game"是基于JavaScript的...
- 根据窗口大小调整画布尺寸,保持钟的比例不变,确保在不同设备和分辨率下都能正常显示。 通过以上步骤,我们可以创建一个实时更新且能在网页上流畅运行的Canvas时钟。这个实例对于理解Canvas绘图、时间处理以及...
在Android开发中,Canvas是Android图形系统的核心组件之一,它允许开发者在屏幕上绘制各种复杂的图形。这个源码包显然提供了示例代码,演示了如何利用Canvas在Android应用中绘制不同的图形。下面我们将深入探讨...