0

我是一名 Titanium 初学者,正在尝试创建一个包含 2 个名称和地址文本字段以及一个 DateTimePicker 的表单页面。我现在面临两个问题:

1) DateTimePicker 已成功显示,但我希望它和 2 个文本字段都位于同一窗口上,并具有相同的提交按钮。

2)我已经尝试了很多次,但根本无法创建一个简单的文本字段,即使只是在一个页面上创建它。它只是不显示。任何人都可以提供一些建设性的帮助吗?

提前致谢。下面是我当前的代码。

var winTimePicker = Titanium.UI.createWindow({}); winTimePicker.backgroundColor = '黑色';

var doneBtn = Ti.UI.createButton({
    title: 'Done',
});

doneBtn.addEventListener('click', function() {
    winTimePicker.hide();
});

winTimePicker.add(doneBtn);

var timePicker = Ti.UI.createPicker({
    type:Ti.UI.PICKER_TYPE_TIME,
    bottom:0,
});


// turn on the selection indicator (off by default)
timePicker.selectionIndicator = true;

timePicker.addEventListener('change', function(e) {
    //your code
});

winTimePicker.add(timePicker);


//open window
winTimePicker.open();   

var winDatePicker = Titanium.UI.createWindow({}); winDatePicker.backgroundColor = '黑色';

var doneBtn = Ti.UI.createButton({
    title: 'Done',
});

doneBtn.addEventListener('click', function() {
    winDatePicker.hide();
});

winDatePicker.add(doneBtn);

var datePicker = Ti.UI.createPicker({
    type:Ti.UI.PICKER_TYPE_DATE,
    bottom:0,
});


// turn on the selection indicator (off by default)
datePicker.selectionIndicator = true;

datePicker.addEventListener('change', function(e) {
    //your code
});

winDatePicker.add(datePicker);


//open window
winDatePicker.open();   

var textField = Titanium.UI.createTextField({ color:'#336699', width:"auto", height:"auto", borderStyle:Titanium.UI.INPUT_BORDERSTYLE_ROUNDED, });

var textField2 = Titanium.UI.createTextField({ color:'#336699', width:"auto", height:"auto", borderStyle:Titanium.UI.INPUT_BORDERSTYLE_ROUNDED, });

4

1 回答 1

2

检查此代码并根据您的需要进行更改:

var timePickerWin = Ti.UI.createWindow({
            navBarHidden : true,
            backgroundColor : '#fff'
        });

var startTime = Ti.UI.createPicker({
        top : '15dp',
        left : '50dp',
        useSpinner : false,
        selectionIndicator : true,
        type : Ti.UI.PICKER_TYPE_TIME,
        format24 : false,
        height : '130dp',
        //  width:'auto'

    });


 var endTime = Ti.UI.createPicker({
            top : '15dp',
            left : '50dp',
            useSpinner : false,
            selectionIndicator : true,
            type : Ti.UI.PICKER_TYPE_TIME,
            format24 : false,
            height : '130dp'
        });

var nextButton = Ti.UI.createButton({
            width : '220dp',
            height : '45dp',
            top : '15dp',
            title : 'Next',
            backgroundColor : '#294079',
            font : {
                fontSize : '18dp',
                fontWeight : 'bold'
            },
            color : '#fff'
        });

startTime.addEventListener('change', function(e) {
        //alert("User selected date: " + e.value);
        startPickerValue = e.value;
    });

    endTime.addEventListener('change', function(e) {
        //alert("User selected date: " + e.value);
        endPickerValue = e.value
    });
var fullNameTextBox = Ti.UI.createTextField({
        borderStyle : Titanium.UI.INPUT_BORDERSTYLE_ROUNDED,
        width : '275dp',
        height : '45dp',
        //value : '',
        top : '15dp',
        color : '#000000',
        hintText : 'Enter full name'
        //  backGroundColor:'gray',

    });
    var emailTextBox = Ti.UI.createTextField({
        borderStyle : Titanium.UI.INPUT_BORDERSTYLE_ROUNDED,
        width : '275dp',
        height : '45dp',
        //value : '',
        top : '15dp',
        color : '#000000',
        hintText : 'Enter email'

    });

最后使用 add 函数将所有这些 UI 元素添加到 timePickerWin 窗口

timePickerWin.add(startTime);

等等所有的UI元素。之后打开timePickerWin如下

timePickerWin.open()

通过改变每个元素的左、右、高和宽属性进行适当的布局更改。

于 2012-06-27T06:53:13.083 回答