1

我正在尝试使用 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; 
}
4

0 回答 0