【发布时间】:2012-11-05 18:02:48
【问题描述】:
我已成功添加了一个下拉列表(flextras),但它无法正常工作。每当我触摸下拉列表时,弹出的列表都会位于文本框下方(位于下拉列表下方)。因此,当焦点传递到文本框时,我无法从文本框顶部的列表中选择项目。
【问题讨论】:
标签: apache-flex
我已成功添加了一个下拉列表(flextras),但它无法正常工作。每当我触摸下拉列表时,弹出的列表都会位于文本框下方(位于下拉列表下方)。因此,当焦点传递到文本框时,我无法从文本框顶部的列表中选择项目。
【问题讨论】:
标签: apache-flex
很高兴阅读此blog post on the subject。
相关引述:
Flex 4.6 中 TextInput 的默认外观使用 StyleableStageText。 StageText 始终绘制在 Flash 上方 显示列表,这就是下拉列表的弹出窗口似乎在下方的原因 它。引用Adobe docs on StageText:
[start doc quote] 原生文本输入字段不能被其他 Flex 内容剪切,并且 在舞台上方的图层中渲染。由于这个限制, 使用基于 StageText 的皮肤类的组件将始终显示为 位于其他 Flex 组件之上。 Flex 弹出窗口和下拉菜单将 也被任何可见的本机文本字段遮挡。最后,原生 应用程序无法控制文本字段的相对 z 顺序。 [结束文档引用]
对此有两种可能的解决方案。首先是建筑师 您的移动应用程序,以便弹出窗口永远不会显示在 文本输入。如果您要为多个设备构建,这可能会很困难 具有不同的屏幕尺寸。
第二种是使用Flex 4.5 skin class for your TextInputs:
<textInput skinClass="spark.skins.mobile.TextInputSkin" />
【讨论】: