我正在尝试使用 Titanium Appcelerator 准备在 Android 和 iOS 上运行的移动应用程序
在其中一个视图中,我将向服务器发送请求,获取响应,在解析它之后,我将创建一个带有内部视图的滚动视图和相应地填充数据。该应用程序在 iPhone 上运行良好。但在 Android 中,它无法正常工作。除非并且直到我将控件添加到 Windows,否则它们不会显示在 Android 中。
我想知道我是否必须设置任何东西才能在android中正常工作。
以下代码用于将子视图添加到滚动视图:
var xPos = 0;
for (var i = 0; i < cityCodes.length; i++)
{
xPos = i*320;
var cityImg = require('screens/views').cityDataView(xPos, cityClicked,
cityCodes.item(i).text,
cityNames.item(i).text,
cityExportQuantities.item(i).text,
exportPercentages.item(i).text,
populationCount.item(i).text,
popultionPercentages.item(i).text,
rates.item(i).text
);
scrlView.add(cityImg);
}
我正在创建滚动视图,如下所示:
scrlView = Titanium.UI.createScrollView({
contentWidth:'auto',
contentHeight:'auto',
top:'40%',
height:'155dp',
showVerticalScrollIndicator:true,
showHorizontalScrollIndicator:false
});
我正在创建城市数据视图,如下所示:
cityDataView: function(xPos, showCityDetails, cityCode, cityName, exportQuantity, exportPercent, popCount, popPercent, rate)
{
var tempLabel = function(topPos,txt){
// Ti.API.log(topPos);
var custLabel = Ti.UI.createLabel({
color:'#000',
text:txt,
right:'55%',
top:topPos,
font:{
fontSize:14,
fontFamily:'GE SS Text Light'
},
textAlign:Titanium.UI.TEXT_ALIGNMENT_RIGHT,
width:'auto'
});
return custLabel;
};
var cityImg = Ti.UI.createImageView({
left:xPos,
height : '155dp',
width : '100%',
image : '/images/citydetails.png'
});
cityImg.addEventListener('singletap', function(){
Ti.API.log(cityCode);
showCityDetails(cityCode);
});
var cityNameLbl = Ti.UI.createLabel({
color:'#ffffff',
text:cityName,
height:'15dp',
top:'6%',
font:{
fontSize:14,
fontFamily:'GE SS Text Light'
},
textAlign:Titanium.UI.TEXT_ALIGNMENT_RIGHT,
width:'auto'
});
cityImg.add(cityNameLbl);
var exportQtyLbl = tempLabel('19%',exportQuantity);
cityImg.add(exportQtyLbl);
var overallProd = tempLabel('35%',exportPercent);
cityImg.add(overallProd);
var populationCount = tempLabel('53%',popCount);
cityImg.add(populationCount);
var populationPercent = tempLabel('69%',popPercent);
cityImg.add(populationPercent);
var rateText = tempLabel('85%',rate);
cityImg.add(rateText);
// var totalExportText = tempLabel('95%',totalExport);
// cityImg.add(totalExportText);
return cityImg;
}