Appcelerator Titanium移动应用程序屏幕?

时间:2011-03-02 19:13:59

标签: mobile titanium appcelerator-mobile

我正在尝试弄清楚如何使用Appcelerator Titanium制作多屏应用。我熟悉Android开发,所以使用Android SDK我会创建一些不同的活动,每个活动都做不同的工作(登录屏幕,屏幕显示项目列表等)。钛的等价物是什么?我知道app.js是应用程序的主要部分,但我认为不建议只将所有代码放在该单个文件中。厨房水槽应用程序有很多文件和功能,但我不确定它们是如何组合在一起的。那么,在Titanium中为一个基本应用程序创建一个项目的推荐方法是什么,只有几个屏幕做不同的事情?我错过了屏幕的Titanium概念。

5 个答案:

答案 0 :(得分:2)

App.js文件基本上是初始化不同窗口屏幕的文件,并使用Tabs加载那些窗口屏幕。这是一个创建简单屏幕的链接Create Window & Tabs

有关TitaniumUI

的更多相关资源

答案 1 :(得分:2)

不..

你可以像

那样做
var button = Ti.UI.createButton({..});

button.addEventListener('click',function(e){
    var window = Ti.UI.createWindow({
            url:"../newWindow.js",
            title:"newWindow"
    });

    Titanium.UI.currentTab.open(window,{animated:true});
});

我建议使用MVC-pattern like i already posted here

答案 2 :(得分:1)

尝试这样做:

<强> app.js

Tintanium.include('window1.js', 'window2.js');

...

    var button1 = Titanium.UI.createButton({...});

button1.addEventListener('click',function(){
    window1.open();
    });

<强> window1.js

var window1=Titanium.UI.createWindow({...});

...etc...

希望这会有所帮助;)

答案 3 :(得分:0)

尝试使用下面的代码:

    // functions
    function openHomescreen(e)
    {
        settings.close();
        getlucky.close();
        survey.close();

        homescreen.url          = 'homescreen.js';
        homescreen.open();
    }

    function openGetlucky(e)
    {
        settings.close();
        homescreen.close();

        getlucky.url           = 'getlucky.js';
        getlucky.open();
    }

// events
Ti.App.addEventListener('homescreen',openHomescreen);
Ti.App.addEventListener('getlucky',openGetlucky);

openHomescreen({});

要在另一个JS文件中打开主屏幕,请使用此文件。

Ti.App.fireEvent('homescreen');

答案 4 :(得分:0)

经过大量的时间研究后,我找到了打开不同窗口的解决方案,点击事件附在按钮上。

<强> employee.js

//Current window (employee window)
var employeeWin = Ti.UI.currentWindow;

//define button
var moveToDetailBtn = Ti.UI.createButton({
   width      : 200,      //define the width of button
   height      : 50,      //define height of the button
   title         : 'Show Detail'   //Define the text on button
});

//Click event to open the Employee Details window
moveToDetailBtn.addEventListener('click', function(){

   //Call a export function
   var win = require('employeeDetails').getEmployeeDetailSWin;

   //Create new instance
   var employeeDetailsWin = new win();

   //Open the Employee Details window
   employeeDetailsWin.open();
});


//Add the button to the window
employeeWin.add(moveToDetailBtn);

在employeeDetails.js

exports.getEmployeeDetailSWin = function(){

   //Creates a new window
   var empDetailsWin = Ti.UI.createWindow({
      backgroundColor   : '#ffffff'      //Define the backgroundcolor of the window
   });

   //Addin a label to the window
   empDetailsWin.add(Ti.UI.createLabel({
      width      : 100,      //Define width of the label
      height      : 50,      //Define height of the label
      title         : 'Employee Details'
   }));

   return empDetailsWin;
};

我在此页面中找到了解决方案:http://www.mindfiresolutions.com/Open-New-Window-Without-URL-Property-In-Titanium-2214.php