Создайте подкласс Button и сообщите скину, что он находится в выключенном состоянии, когда клавиша, о которой вы заботитесь, нажата.Кроме того, всякий раз, когда вы обнаруживаете, что клавиша выключена (или больше не выключена), аннулируйте состояние обложки, чтобы оболочка знала, в каком состоянии она должна быть:
package mypackage
{
import spark.components.Button;
public class MyButton extends Button
{
private var _isKeyDown:Boolean = false;
private function get isKeyDown():Boolean {
return _isKeyDown;
}
private function set isKeyDown(b:Boolean):void {
_isKeyDown = b;
this.invalidateSkinState();
}
// Add handlers in here to set isKeyDown to true/false appropriately
override protected function getCurrentSkinState():String {
if (isKeyDown)
return "down";
else
return super.getCurrentSkinState();
}
}
}