【发布时间】:2011-06-09 14:52:39
【问题描述】:
我有一个用于发送消息的按钮。当消息文本为空时,应该无法点击按钮。
这一切都很好,不是问题。唯一困扰我的是,我可以禁用发送按钮,但图像并没有被禁用(如我所料)。
有没有办法优雅地做到这一点,因为我不想提供sendicon_disabled.png 并自己更改它(我认为这不应该是我的工作)。
【问题讨论】:
标签: apache-flex button flex3 icons
我有一个用于发送消息的按钮。当消息文本为空时,应该无法点击按钮。
这一切都很好,不是问题。唯一困扰我的是,我可以禁用发送按钮,但图像并没有被禁用(如我所料)。
有没有办法优雅地做到这一点,因为我不想提供sendicon_disabled.png 并自己更改它(我认为这不应该是我的工作)。
【问题讨论】:
标签: apache-flex button flex3 icons
您可以使用以下按钮:
package
{
import mx.controls.Button;
import mx.core.mx_internal;
use namespace mx_internal;
public class IconButton extends Button
{
private var enabledChanged:Boolean = false;
override public function set enabled(value:Boolean):void
{
if (super.enabled == value)
{
return;
}
super.enabled = value;
enabledChanged = true;
invalidateDisplayList();
}
override protected function updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
if (enabledChanged)
{
if (!enabled && currentIcon)
{
currentIcon.alpha = 0.5;
}
enabledChanged = false;
}
}
}
}
您可以使用您的自定义 alpha 值或将其移动到单独的样式。
【讨论】: