【问题标题】:Change the states of the button更改按钮的状态
【发布时间】:2012-08-26 12:51:30
【问题描述】:

如何将按钮的状态从向上状态更改为向下状态,反之亦然?例如,如果我单击按钮(处于向上状态),它将改变并保持其状态为向下状态。比如打开/关闭。

【问题讨论】:

  • 标签是指框架标签吗?
  • 我不知道框架标签。我指的是按钮的标签属性。不知道是不是一样。存储和删除标签不再是我之前找到的解决方案(我会尽快更改标题)。我现在的问题是如何改变按钮的状态?

标签: actionscript-3 apache-flex flex4 flash-builder flex4.5


【解决方案1】:

你可以用这个

Button btn = (Button) findViewById(R.id.btnID);btn.setSelected(true);

【讨论】:

    【解决方案2】:

    您应该通过任何类型的显示对象为您的按钮提供一组图形,然后更改该按钮的 MouseEvent.CLICK 侦听器中的可见对象集。此外,您应该从该按钮中跟踪当前按钮状态。像这样:

    public class ToggleButton extends Sprite {
        public var toggledOn:Boolean;
        ....
        private function onClick(e:MouseEvent):void {
            if (toggled) {
                toggled=false;
                DisplayGraphics(upState);
            } else {
                toggled=true;
                DisplayGraphics(downState);
            }
        }
    }
    

    因此,在您的“DisplayGraphics”实现中,您必须切换作为您的 ToggleButton 的 Sprite 的当前内容。如果您将按钮实现为 MovieClip,您还可以使用 gotoAndStop() 更改其帧,使用 Sprite,您需要 removeChild() 和 addChild() 或任何其他您喜欢的,在按钮的子项上作为图形操作.

    【讨论】:

    • 我在按钮上分配了一个皮肤。我将如何使用它而不是 sprite?
    • 我不知道皮肤,一项快速研究告诉我,它们只是带有命名状态的电影剪辑。因此,例如,您可以在皮肤示例中将切换按钮用作播放/暂停按钮。毕竟它有“播放”和“暂停”两个条件,可以重新映射为“下”和“上”。
    【解决方案3】:

    如果没有您的代码示例,很难确定您到底要做什么。

    我从您的问题中了解到,您无法更改按钮的状态 - 就像您找不到设置按钮状态的功能一样。您可以在按钮中使用自定义皮肤,然后试试这个。

    myButton.skin.setCurrentState("your_State",true);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-28
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      相关资源
      最近更新 更多