我们知道我们可以在 .mxml 中定义状态。问题是,我们的应用程序或组件在任何时候都可能只处于其中一种状态。
在为 Flex Mobile 编程时,横向和纵向(方向)通常需要成为状态,以便轻松定义控件/组件/元素是 [不] 可见、(禁用/启用)还是使用某些颜色着色。但是我们的应用程序或组件也有其他的状态,独立于屏幕方向,例如 SufficientCredit 和 InsufficientCredit。
假设我们只想在状态为 SufficientCredit 时显示提交按钮。但是,当您更改手机的方向时,您还需要显示/隐藏/着色其他控件。在现实生活中,您的信用状态确实是 SufficientCredit,但您的应用现在处于 Portrait 或 Landscape 状态。现在我们的提交按钮将消失,尽管它不在 InsufficientCredit 状态。
我不想创建像 LandscapeSufficientCredit、LandscapeInsufficientCredit、PortraitSufficientCredit 和 PortraitInsufficientCredit 这样的“组合”状态。我也不想完全放弃状态并编写一个巨大的 if-else 语句,其中每个分支都必须包含修改组件属性(颜色、大小、可见性等)的代码,然后记得从很多地方调用它那会改变状态。
我听说过状态组,但它们的文档确实令人困惑,我不确定它们是否会在这种情况下有所帮助。