Android 上的 Titanium.UI.createTableViewRow

发布于 2024-12-09 11:08:06 字数 1344 浏览 0 评论 0原文

我正在尝试创建一个包含 TableViewSection (其中包含标题图像)和几行(每行包含一个标签、一些图像和一个按钮)的 TableView。

在 iPhone 模拟器中,一切运行良好,但在 Android 模拟器上,它只显示行标签。甚至 hasDetail-Argument 也被忽略。知道我在这里做错了什么吗?下面是我的代码的简化版本。

var win = Ti.UI.currentWindow;

var tableView = Titanium.UI.createTableView({
        scrollable:true
});

var item_list = Array('foo', 'bar');

var logo = Titanium.UI.createImageView({
    width:193,
    height:44,
    visible:true,
    backgroundImage:'../images/logo.png',
});

var headerView = Titanium.UI.createView({
    height:50,
    backgroundColor:'#960017'
});


var listSection = Titanium.UI.createTableViewSection({
    headerView:headerView, 
    height:165,

});

for (i=0; i < item_list.length; i++) {

var row = Titanium.UI.createTableViewRow({
    color:'#ffffff',
    hasDetail: true
});

row_title = Titanium.UI.createLabel({
        text: 'Foo',
        left: 4,
        color: '#ffffff',
        width: 200

});

row_button = Titanium.UI.createButton({
    title: 'Button text',
    width: 100,
    height: 24,
    right: 2,
});


var row_images = Titanium.UI.createImageView({
       width: 60,
       height: 12,
       image: '../images/image.png'
});

row.add(row_title, row_images, row_button);

listSection.add(row);

}

headerView.add(logo);
tableView.setData([listSection]); 

win.add(tableView);

I'm trying to create a TableView containing a TableViewSection (which includes a header image) and several rows (which each inlude a label, some images and a button).

In the iPhone-Simulator, it all works well, but on the Android-Emulator, it only displays the row label. Even the hasDetail-Argument is ignored. Any idea what I'm doing wrong here? Below a simplified versionof my code.

var win = Ti.UI.currentWindow;

var tableView = Titanium.UI.createTableView({
        scrollable:true
});

var item_list = Array('foo', 'bar');

var logo = Titanium.UI.createImageView({
    width:193,
    height:44,
    visible:true,
    backgroundImage:'../images/logo.png',
});

var headerView = Titanium.UI.createView({
    height:50,
    backgroundColor:'#960017'
});


var listSection = Titanium.UI.createTableViewSection({
    headerView:headerView, 
    height:165,

});

for (i=0; i < item_list.length; i++) {

var row = Titanium.UI.createTableViewRow({
    color:'#ffffff',
    hasDetail: true
});

row_title = Titanium.UI.createLabel({
        text: 'Foo',
        left: 4,
        color: '#ffffff',
        width: 200

});

row_button = Titanium.UI.createButton({
    title: 'Button text',
    width: 100,
    height: 24,
    right: 2,
});


var row_images = Titanium.UI.createImageView({
       width: 60,
       height: 12,
       image: '../images/image.png'
});

row.add(row_title, row_images, row_button);

listSection.add(row);

}

headerView.add(logo);
tableView.setData([listSection]); 

win.add(tableView);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

下壹個目標 2024-12-16 11:08:06

而不是使用

headerView:headerView

尝试以下

var headerView = Titanium.UI.createView({
    height:50,
    backgroundColor:'#960017'
});
tableView.headerView = headerView;

Instead of using

headerView:headerView

try the following

var headerView = Titanium.UI.createView({
    height:50,
    backgroundColor:'#960017'
});
tableView.headerView = headerView;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文