我在滚动视图中添加了一个表视图,它在iOS的情况下顺利运行,但在Android的情况下,表视图不滚动。
我已经描述了下面的代码来描述我的问题.. 建议任何有助于解决我的问题的答案。
var rows = [];
var win = Ti.UI.createWindow({
backgroundColor:'white'
});
var scrollableView = Ti.UI.createScrollView({
top : 0,
contentWidth : '100%',
contentHeight : 'auto'
});
var fruit = Ti.UI.createView({
top : 40,
width : '70%',
height : 20,
left : 10,
backgroundColor:'#000'
});
var fruitLabel = Ti.UI.createLabel({
text : "Fruit list",
font:{
fontSize : 15,
fontWeight : 'bold'
},
color : 'red'
});
fruit.add(fruitLabel);
var fruitTableView = Titanium.UI.createTableView({
top : 70,
width : 200,
height : 150,
left : 80,
right : 20,
separatorColor : 'transparent'
});
rows = [];
for(var i=0; i<20; i++){
rows.push(Titanium.UI.createTableViewRow({
title:'fruit ' + String(i),
color : '#000'
}));
};
fruitTableView.setData(rows);
var veg = Ti.UI.createView({
top : 250,
width : '70%',
height : 20,
left : 10,
backgroundColor:'#82C6E8'
});
var vegLabel = Ti.UI.createLabel({
text : "Veg list",
font:{
fontSize : 15,
fontWeight : 'bold'
},
color : 'red'
});
veg.add(vegLabel);
var vegTableView = Titanium.UI.createTableView({
top : 280,
width : 200,
height : 150,
left : 80,
right : 20,
});
rows = [];
for(var i=0; i<20; i++){
rows.push(Titanium.UI.createTableViewRow({
title:'veg ' + String(i),
color : '#000'
}));
};
vegTableView.setData(rows);
var grains = Ti.UI.createView({
top : 460,
width : '70%',
height : 20,
left : 10,
backgroundColor:'pink'
});
var grainLabel = Ti.UI.createLabel({
text : "Grains list",
font:{
fontSize : 15,
fontWeight : 'bold'
},
color : 'red'
});
grains.add(grainLabel);
var grainsTableView = Titanium.UI.createTableView({
top : 490,
width : 200,
height : 120,
left : 80,
right : 20,
});
rows = [];
for(var i=0; i<50; i++){
rows.push(Titanium.UI.createTableViewRow({
title:'grain ' + String(i),
color : '#000'
}));
};
grainsTableView.setData(rows);
scrollableView.add(fruit);
scrollableView.add(fruitTableView);
scrollableView.add(veg);
scrollableView.add(vegTableView);
scrollableView.add(grains);
scrollableView.add(grainsTableView);
win.add(scrollableView);
win.open();
答案 0 :(得分:6)
谢谢你的回复, 我找到了在@Surajkochale的帮助下实现它的正确方法。
如果我在代码中添加这些行并且它运行良好,这是我的问题的解决方案..
fruitTableView.addEventListener('touchstart', function(){
scrollableView.canCancelEvents = false;
});
fruitTableView.addEventListener('touchend', function(){
scrollableView.canCancelEvents = true;
});
fruitTableView.addEventListener('touchcancel', function(){
scrollableView.canCancelEvents = true;
});
vegTableView.addEventListener('touchstart', function(){
scrollableView.canCancelEvents = false;
});
vegTableView.addEventListener('touchend', function(){
scrollableView.canCancelEvents = true;
});
vegTableView.addEventListener('touchcancel', function(){
scrollableView.canCancelEvents = true;
});
grainsTableView.addEventListener('touchstart', function(){
scrollableView.canCancelEvents = false;
});
grainsTableView.addEventListener('touchend', function(){
scrollableView.canCancelEvents = true;
});
grainsTableView.addEventListener('touchcancel', function(){
scrollableView.canCancelEvents = true;
});
答案 1 :(得分:0)
您需要在视图中添加tableview ...
fruit.add(fruitTableView);
scrollableView.add(fruit);
veg.add(vegTableView);
scrollableView.add(veg);
grains.add(grainsTableView);
scrollableView.add(grains);
答案 2 :(得分:0)
你可以查看contentHeight : Ti.UI.SIZE
,它对我有用
答案 3 :(得分:0)
试试这个
var tableView = Titanium.UI.createTableView({
bubbleParent:false,
});
不顺利,但有效。