【问题标题】:How to access elements in external views in titanium alloy?如何访问钛合金外部视图中的元素?
【发布时间】:2013-10-31 02:33:07
【问题描述】:

我正在钛合金 1.2.2 上制作安卓手机应用程序

我想访问包含在外部视图中的元素。 所以如果我使用

var win=Alloy.createController().getView();

它本身会打开该视图。我不需要那个。我只想访问该视图中的元素并将其可见性更改为 false。我们怎么能做到这一点?提前谢谢。

【问题讨论】:

  • 您可以访问视图的子元素,例如,如果您有主视图并且想要访问另一个控制器中的标签,该控制器具有另一个视图,您必须执行类似的操作:mainView.children[0].children[0].children[0]

标签: android view titanium titanium-alloy


【解决方案1】:

使用Alloy.createController('name').__views 获取控制器外部的视图,例如:

// fruit.xml
<Alloy>
    <View id='opacity_view'></View>
</Alloy>

// other.js: 
the_view = Alloy.createController('fruit').__views.opacity_view

【讨论】:

    【解决方案2】:

    另一种解决方案是导出属性,但您需要您已经拥有的控制器的引用。

    var win=Alloy.createController('Path to your controller');
    

    在你需要的控制器的.js中:

    exports.element = $.elementid;
    

    然后您可以访问win.element.visible = false 或您需要的任何属性。

    【讨论】:

      【解决方案3】:

      controller.getView() 不在屏幕上显示视图。可能在您初始化的控制器中,您的代码类似于:$.index.open(),它在设备屏幕上添加了新视图。

      如果您想在创建视图时隐藏元素,最好的方法是在您放置规则的位置创建 .tss 文件:visible: false 使用 #id.class

      Alloy Styles and Themes documentation查看更多信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多