在 Titanium 中恰好有两列的表视图中显示内容
display content in tableview having exactly two columns in Titanium
我有一个 json 响应,其中包含我想在 tableview 中显示图像的图像和其他内容,但它应该只包含两列,行数不受限制。
任何人都可以帮助解决这个问题吗?
代码:
for (var i = 0; i < jsonResponse.length; i++)
{
var row = Ti.UI.createTableViewRow({
width : Ti.UI.SIZE,
height : Ti.UI.SIZE,
layout: "horizontal"
});
var myImage = Ti.UI.createImageView({
width : Ti.UI.SIZE,
height : Ti.UI.SIZE,
image : jsonResponse[i].cover_image_url
});
row.add(myImage);
data.push(row);
}
table.setData(data);
win2.add(tableview);
应该这样做:
var rowHeight = 50; // just pick the right height here
var imageRowIsFull = false;
var row = Ti.UI.createTableViewRow({
width : '100%',
height : rowHeight,
layout: "horizontal"
});
for (var i = 0; i < jsonResponse.length; i++)
{
var myImage = Ti.UI.createImageView({
width : '50%',
height : rowHeight,
image : jsonResponse[i].cover_image_url
});
myImage.addEventListener('click', function(event){
//event handling here
});
row.add(myImage);
imageRowIsFull = false;
if ( (i + 1) % 2 == 0) { //this will add a new row every 2 items.
imageRowIsFull = true;
data.push(row);
row = Ti.UI.createTableViewRow({
width : '100%',
height : rowHeight,
layout: "horizontal"
});
}
}
if (!imageRowIsFull) { //do not forget to add the last row
data.push(row);
}
table.setData(data);
win2.add(tableview);
我有一个 json 响应,其中包含我想在 tableview 中显示图像的图像和其他内容,但它应该只包含两列,行数不受限制。
任何人都可以帮助解决这个问题吗?
代码:
for (var i = 0; i < jsonResponse.length; i++)
{
var row = Ti.UI.createTableViewRow({
width : Ti.UI.SIZE,
height : Ti.UI.SIZE,
layout: "horizontal"
});
var myImage = Ti.UI.createImageView({
width : Ti.UI.SIZE,
height : Ti.UI.SIZE,
image : jsonResponse[i].cover_image_url
});
row.add(myImage);
data.push(row);
}
table.setData(data);
win2.add(tableview);
应该这样做:
var rowHeight = 50; // just pick the right height here
var imageRowIsFull = false;
var row = Ti.UI.createTableViewRow({
width : '100%',
height : rowHeight,
layout: "horizontal"
});
for (var i = 0; i < jsonResponse.length; i++)
{
var myImage = Ti.UI.createImageView({
width : '50%',
height : rowHeight,
image : jsonResponse[i].cover_image_url
});
myImage.addEventListener('click', function(event){
//event handling here
});
row.add(myImage);
imageRowIsFull = false;
if ( (i + 1) % 2 == 0) { //this will add a new row every 2 items.
imageRowIsFull = true;
data.push(row);
row = Ti.UI.createTableViewRow({
width : '100%',
height : rowHeight,
layout: "horizontal"
});
}
}
if (!imageRowIsFull) { //do not forget to add the last row
data.push(row);
}
table.setData(data);
win2.add(tableview);