-
state 切換resize問題5
最近我在解決UI的問題,我把問題簡化後的程序代碼如下
簡單說我在切換State時順便做resize動作
(複製手法先點Change view button,再點Change Size button,發現不一樣width後,再點兩次Change view button)
點兩次以上"change view" button,又會可以
問題到底出在哪裡?請問我觀念哪裡需要加強?
Flex SDK: 3.5
謝謝解答 感激不盡
主要的application page<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:component="com.component.*" layout="absolute"> <mx:Script> <![CDATA[ import mx.binding.utils.BindingUtils; import mx.controls.Alert; private var _varWidth:int = 300; private function changeState():void{ if(currentState == "viewsState"){ currentState = ""; }else{ currentState = "viewsState"; } } private function changeSize():void{ _varWidth = 500; dispatchEvent(new Event("widthChanged")); } [Bindable("widthChanged")] public function get varWidth():int { return _varWidth; } ]]> </mx:Script> <mx:Button width="100" label="Change View" x="20" y="20" click="changeState()"/> <mx:Button width="100" label="Change Size" x="140" y="20" click="changeSize()"/> <mx:HBox width="100%" height="100%" id="hbox1" x="24" y="52"> <component:componCanvas id="com1" width="100%" height="100%" backgroundColor="#29F73C"> </component:componCanvas> </mx:HBox> <mx:states> <mx:State name="viewsState"> <mx:SetProperty target="{com1}" name="width" value="{varWidth}"/> <mx:AddChild relativeTo="{hbox1}"> <mx:VRule height="100%"/> </mx:AddChild> <mx:AddChild relativeTo="{hbox1}" position="lastChild"> <component:componCanvas width="{varWidth}" height="100%" backgroundColor="#FED90B"> </component:componCanvas> </mx:AddChild> </mx:State> </mx:states> </mx:Application>
Component code
<?xml version="1.0" encoding="utf-8"?> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"> <mx:Label x="0" y="0" text="this.width="/> <mx:Label x="60" y="0" text="{this.width}"/> </mx:Canvas>
2011年10月26日 14:07
目前还没有答案
相关推荐
1. **状态定义与切换**:state-manager 允许开发者定义不同的状态,比如 "mobile"、"tablet" 和 "desktop",并根据设备的视口宽度自动切换。这可以通过监听窗口的 resize 事件来实现,确保页面布局总能适应用户的...
通过定义不同的状态(state),可以轻松地切换UI布局或触发特定行为。同时,利用Flex内置的动画功能,可以为这些状态间的转换添加视觉效果,增强用户体验。 ##### 2.1 状态(State) 在Flex中,每个容器组件(如...
当窗体被最大化时,可以通过检查`nativeWindow.isMaximized`属性来切换皮肤中的状态。同时,当窗体恢复时,可能需要重置其大小和位置。可以监听`Resize`事件来实现这一点: ```actionscript nativeWindow....
例如,`window.screen.width` 和 `window.screen.height` 可以获取用户的屏幕分辨率,`window.resizeTo()` 和 `window.moveTo()` 方法可以用来调整窗口大小和位置。 2. **Chrome DevTools**:开发者可以通过Chrome...
14. **路由管理**:在单页应用(SPA)中,使用`hashchange`或`history.pushState`等方法,可以实现页面跳转而不实际刷新。 15. **Web存储**:`localStorage`和`sessionStorage`允许在浏览器中存储数据,用于实现...
- **Resize** - 改变尺寸的效果。 - **Rotate** - 旋转效果。 - **Sequence** - 顺序播放多个效果。 - **SoundEffect** - 声音效果。 - **WipeDown/WipeLeft/WipeRight/WipeUp** - 清除动画效果。 - **Zoom** - 缩放...
- **游戏状态管理**: 通过GameState或StateMachine类,可以有效地管理游戏的不同阶段,如菜单、游戏主循环、暂停状态等。 5. **扩展和优化**: - **Scene2D**: Scene2D库提供了UI组件和行为系统,方便构建游戏...
要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b、关闭ORACLE系统 oracle>svrmgrl SVRMGR>connect...
#### 表单状态过滤器 (Form State Filters) 这些过滤器用于选择具有特定状态的表单控件: - `:enabled`:选取所有可用的控件。 - `:disabled`:选取所有禁用的控件。 - `:checked`:选取所有被选中的控件。 - `:...
StateMachine或GameStateManager类可以帮助我们管理这些状态的切换。 通过"TopDown-Learn1"项目,开发者可以学习到libgdx的基本使用方式,进一步深入可以研究更复杂的游戏机制,如网络对战、存档系统、AI算法等。...
resize([[data],fn]) scroll([[data],fn]) select([[data],fn]) submit([[data],fn]) unload([[data],fn]) 效果 基本 show([s,[e],[fn]]) hide([s,[e],[fn]]) toggle([s],[e],[fn]) 滑动 slideDown([s]...