2014-02-25 49 views
1

我正在使用Titanium版本3.1.3和合金框架。我在我的应用程序中实施了操作栏;但在包含选项卡组的屏幕中,标题在操作栏中缺失。只有图标显示在其中。从这个 - https://jira.appcelerator.org/browse/TIMOB-11645,我可以看到,这是固定在SDK版本:3.1.0.v20130320190115。但是,我仍然无法弄清楚为什么。在ActionBar中设置标题 - 使用Tabgroups屏幕 - 钛合金

我试图通过这样的代码

var actionBar; 
if (Ti.Platform.osname === "android") { 
     if (! $.tab.activity) { 
      Ti.API.error("Can't access action bar on a lightweight window."); 
     } else { 
      actionBar = $.tab.getActivity().actionBar; 
      if (actionBar) { 
       alert("true"); 
       //actionBar.title = "TITLE"; 
       actionBar.setTitle("TITLE"); 
      } 
     } 
    } 

请帮忙设置操作栏的标题。提前致谢!

回答

3

为了获得一些ActionBar方法和属性,如标题,你的代码需要运行after the tabgroup is opened

在您看来,您可以添加事件监听器是这样的:在您的控制器

<TabGroup onOpen="doOpen"> 
    .... 
</TabGroup> 

然后,把你的代码回调:

function doOpen(){ 
    var actionBar; 
    if (Ti.Platform.osname === "android") { 
     if (! $.tab.activity) { 
      Ti.API.error("Can't access action bar on a lightweight window."); 
     } else { 
      actionBar = $.tab.getActivity().actionBar; 
      if (actionBar) { 
       alert("true"); 
       //actionBar.title = "TITLE"; 
       actionBar.setTitle("TITLE"); 
      } 
     } 
    } 
} 

我在打开的情况下测试代码回调使用SDK 3.2.1,并且它工作正常。

Here是修改ActionBar标题的另一个示例。