做了一个控件很长时间,一直有两个问题困扰我。
1. 使用TabNavigator控件的第2个视图不点击就无法使用。
2.
Flex
Debug无法使用跟踪
我的业务逻辑:
用户使用控件顺序,点击连接—》开始-》停止,当点击“开始”后,我的TabNavigator就要自动跳转第二个视图,显示直播过程中的信息。
问题原因:
由于”导航条容器内置推迟实例化”,导致每次执行到“开始”后,就会出现显示的TEXT控件是空对象
问题,没有实例化。
我的解决办法:
在初始化时,先用TabNavigator的selectedIndex属性跳转到第二个视图实例化,在初始化方法结束前,再用一样办法跳转回第一个视图实例化。
引发另一个问题,无法Debug跟踪:
由于这次两个视图切换,引发Debug无法使用,主要表现在无法做跟踪调试。重新安装编译
环境都不行。
导航条容器内置推迟实例化-creationPolicy属性
Flex
中的导航条容器(ViewStack、Accordin、TabNavigator)中内置了推迟实例化。默认情况下,推迟实例化意味着 Flex
在启动时不会创建任何子视图,但用户通过导航到该容器可触发所有子视图的创建。
容器标签中的 creationPolicy
属性控制子视图的创建。下面的列表将解释 Flex 导航条容器每个 creationPolicy 属性设置的含义。
•
creationPolicy=“auto”
Flex
创建导航条容器时将不会立即创建所有的后代对象,只创建开始时可见的后代对象。这一推迟实例化行为的结果是带有导航条容器的 MXML
应用
程序
加载
很快,但从一个视图浏览至另一视图时,用户将等待短暂的停顿时间。可用性研究表明,与应用程序启动时为创建所有导航条子视图而等待较长时间相
比,这种用户体验更好。同样,用户可能从不访问某些子视图,因而在启动时创建这些子视图会浪费资源。注意,如果在一个非导航条容器上设置 creationPolicy
为“auto”,则必须加入额外的代码来指示何时创建该容器的子对象。这些额外代码已经内置进导航条容器中,因而可在导航条容器上设置 creationPolicy
为“auto”而无需任何额外的工作。
• creationPolicy=“all”
Flex
创建导航条容器时将创建所有子视图中的所有控件。这一设置导致程序启动时有一个延迟,但在视图之间切换的响应时间将会较短。
•
creationPolicy=“none”
Flex 将不会实例化导航条容器中或者其子视图中的任何组件,直到实例化方法被显式调用
。可用 createComponents()
方法显式地实例化视图。Flex 文档中有更多关于设置自定义组件创建计划的信息。
通过设置 creationPolicy
属性,可手工创建子视图,并决定在应用程序架构的何处发生创建导航条容器子视图所需的资源占用。可用性研究显示,使用 auto
设置可取得较好的用户体验。一个常见的错误会延长应用程序启动时间,即错误地在某一个导航条容器上设定
creationPolicy=“all”。仅当能确保组件创建计划足够高效时可设置 creationPolicy 为“all”。
引用:http://www.zengrong.net/?p=353
现在解决问题方法:
在TabNavigator的creationPolicy属性中设为all,就可以解决前面两个问题
分享到:
相关推荐
在这个“带图标的TabNavigator的使用”示例中,我们将探讨如何为每个选项卡添加图标,从而增强用户界面的视觉吸引力和易用性。 首先,我们需要了解`TabNavigator`的基本结构。`TabNavigator`是`Container`类的一个...
在Flex开发中,TabNavigator组件是常用于创建带有选项卡的用户界面的工具。它允许用户在多个视图之间切换,每个视图对应一个选项卡。"flex TabNavigator tab倒置"这个标题可能指的是开发者想要实现一个特殊的布局,...
在开发移动应用或者Web应用时,常常会使用到导航组件来组织不同的页面,其中TabNavigator是一种常见的导航方式,它在底部或顶部展示一系列标签,用户可以通过点击这些标签切换不同的页面。在React Native或React.js...
这个例子可能是为了展示如何在Flex3中有效地使用TabNavigator来组织和管理用户界面。 在Flex3中,TabNavigator组件是Container类的一个子类,允许用户通过点击不同选项卡来切换内容。它的主要特点包括自定义选项卡...
NULL 博文链接:https://zhangyinyou.iteye.com/blog/671128
对于TabNavigator,我们通常会使用TabbedViewStack或TabbedFormLayout,但这些默认布局并不支持垂直布局。因此,我们需要创建一个自定义布局类来实现这个功能。 首先,我们需要创建一个新的布局类,继承自Base...
- CSS编辑:可能需要使用CSS来调整TabNavigator的样式,如边框、背景色、字体等,以达到遮盖效果。 3. **文件结构**: - `.actionScriptProperties`:这个文件包含了项目的ActionScript编译设置,可能包括类路径...
《TabNavigator_ScrollableMenu:打造更优交互的Tab导航体验》 在Flex开发中,TabNavigator组件是常用于创建带有可切换选项卡的应用界面。然而,随着应用复杂度的提升,用户对于更加灵活和易用的选项卡导航的需求也...
在这里,它使用`RichTab`作为新的导航项工厂,即每个标签页都是一个`RichTab`实例。`RichTab`具有监听器,可以响应用户点击关闭按钮的事件。 `RichTab`类没有给出完整的代码,但可以假设它包含一个关闭按钮,并且...
本文将深入探讨如何使用`TabNavigator`来实现一个React Native底部菜单,并涵盖相关的核心知识点。 `TabNavigator`是React Navigation库中的组件,它允许开发者轻松地创建带有底部标签的导航结构。React Navigation...
将`StackNavigator`和`TabNavigator`结合使用,可以创建复杂且富有层次感的用户界面。通常,我们会把`TabNavigator`放在栈的根部,作为全局导航,而`StackNavigator`则用于处理每个标签页内部的子导航流程。这样,...
NULL 博文链接:https://toeo.iteye.com/blog/644341
比如,在Tabs.mxml中,可以使用Spark样式系统来定制TabNavigator的样式。下面是一个具体的示例代码: ```xml ***" xmlns:s="library://***/flex/spark" xmlns:mx="library://***/flex/mx" width="100%" height=...
这是一个封装好的flex项目,可以直接运行,TestTabNavigator.mxml是运行主页。里面定义了TabNavigator控件选中与被选中的皮肤类,皮肤类可以自己进行更改,也可以设置颜色渐变等等。希望对大家有帮助。
然后,在你的主应用组件(如`App.js`)中引入并使用`TabNavigator`: ```javascript import React from 'react'; import TabNavigator from './TabNavigator'; const App = () => { return <TabNavigator />; }; ...
TabNavigator组件样式属性 7 color主体内容的文本颜色 8 color标签头文字的颜色 11 LinkBar组件样式属性 12 color链接文字颜色 13 List组件样式属性 15 color文字颜色 18 Tree组件样式属性 18 color文本颜色 19 Text...
TabNavigator选项卡使用,里面包括flexlib库,还包括了一个公司自写的报表类库。flexlib库主要测试了整个框架、左边的树形菜单和右边的tabNabigator工作区使用。报表类库,主要是用到的报表实现。
在MXML文件中,我们需要导入`mx.containers.TabNavigator`类,以便使用选项卡导航器。这可以通过在MXML文件顶部添加以下代码完成: ```xml <mx:TabNavigator xmlns:mx="http://www.adobe.com/2006/mxml"> </mx:...
然而,正如开发者在心得小结中所述,Flex组件库的强大功能也有其缺点,特别是在程序体积和运行效率方面。 首先,Flex组件库的全面性虽然为开发提供了便利,但也使得程序体积变得庞大。在程序中过度使用组件功能可能...
在提供的源代码中,`Index.mxml`应该是主应用程序文件,它包含了TabNavigator实例和自定义TabBar的使用。而`com`目录下可能包含自定义TabBar类的相关文件,比如`MultiRowTabBar.as`。 具体到`Index.mxml`,你可能会...