Apache flex adobeair应用程序中的角半径
如何在空中的vbox控件上创建圆角 申请 我正在隐藏标题并将“透明”设置为true,但随后它不会显示 在应用程序中的VBox上显示圆角。我正在展示这个VBox 给用户Apache flex adobeair应用程序中的角半径,apache-flex,air,Apache Flex,Air,如何在空中的vbox控件上创建圆角 申请 我正在隐藏标题并将“透明”设置为true,但随后它不会显示 在应用程序中的VBox上显示圆角。我正在展示这个VBox 给用户 提前感谢。您可以通过实现自定义边框来实现这一点: package your.package { import flash.display.*; import flash.geom.*; import flash.utils.*; import mx.skins.halo.HaloBorder; import
提前感谢。您可以通过实现自定义边框来实现这一点:
package your.package
{
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import mx.skins.halo.HaloBorder;
import mx.utils.GraphicsUtil;
public class RoundedBorder extends HaloBorder
{
private var topCornerRadius:Number;
private var bottomCornerRadius:Number;
private var setup:Boolean;
/**
* Get the CSS style attributes from the element to which to apply this
* gradient.
*/
private function readElementCssStyles():void
{
topCornerRadius = getStyle("cornerRadius") as Number;
if (!topCornerRadius)
{
topCornerRadius = 0;
}
bottomCornerRadius = getStyle("bottomCornerRadius") as Number;
if (!bottomCornerRadius)
{
bottomCornerRadius = topCornerRadius;
}
}
/**
* Paint the gradient background.
*
* @param unscaledWidth
* @param unscaledHeight
*
*/
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
var rectWidth:Number
= unscaledWidth - this.borderMetrics.left - this.borderMetrics.right;
var rectHeight:Number
= unscaledHeight - this.borderMetrics.top - this.borderMetrics.bottom;
readElementCssStyles();
var topRadius:Number = Math.max(topCornerRadius-2, 0);
var bottomRadius:Number = Math.max(bottomCornerRadius-2, 0);
GraphicsUtil.drawRoundRectComplex(this.graphics,
this.borderMetrics.left,
this.borderMetrics.top,
rectWidth,
rectHeight,
topRadius,
topRadius,
bottomRadius,
bottomRadius);
}
}
}
然后,在MXML应用程序中,必须为VBox定义CSS类,如下所示:
<mx:Style>
.roundedBorder
{
border-style:solid;
border-thickness: 1;
border-skin: ClassReference("your.package.RoundedBorder");
corner-radius: 5;
}
</mx:Style>
.圆边
{
边框样式:实心;
边界厚度:1;
边框皮肤:类引用(“your.package.RoundedBorder”);
角半径:5;
}
我已经从一个更复杂的类中删除了这段代码。希望我没有忘记任何东西,它将工作张贴