FlashBuilder/Spark 移动项目视图操作栏。
目前,如果您在操作栏中设置按钮的 chromeColor,它只会在按钮处于按下状态时显示。它不会改变按钮默认状态的颜色。我找不到任何样式来设计它。
FlashBuilder/Spark 移动项目视图操作栏。
目前,如果您在操作栏中设置按钮的 chromeColor,它只会在按钮处于按下状态时显示。它不会改变按钮默认状态的颜色。我找不到任何样式来设计它。
经过一番挖掘,我发现TransparentActionButtonSkin.as 覆盖了drawBrackground 函数,并专门删除了chromeColor,只允许它在按钮按下状态下显示。
我用自己的班级取代了那个“小宝石”。
package view_components
{
import mx.core.mx_internal;
import spark.skins.mobile.TransparentActionButtonSkin;
use namespace mx_internal;
public class ActionbarColoredButton extends TransparentActionButtonSkin
{
public function ActionbarColoredButton()
{
super();
}
override protected function drawBackground(unscaledWidth:Number, unscaledHeight:Number):void
{
// omit super.drawBackground() to drawRect instead
// only draw chromeColor in down state (transparent hit zone otherwise)
//NO, I want colored action buttons
var chromeColor:uint = getStyle(fillColorStyleName);
var chromeAlpha:Number = 1;
graphics.beginFill(chromeColor, chromeAlpha);
graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
graphics.endFill();
}
}
}