无法显示Android Remote Images Titanium SDK

时间:2014-06-02 04:11:52

标签: android image uiimageview imageview titanium

我有一个图片视图并尝试加载远程图片,但它无法显示。

我已经在这个论坛上搜索并尝试了任何建议,但没有成功。我在Mac OS X Maverick上使用SDK 3.2.2

我的代码就像这里一样,它在iOS上运行良好。

var iconImage = Ti.UI.createImageView({
    width:40,
    height:40,
    left:5,
    hires:true,
    defaultImage:'/images/default.jpg',
    image:urltoimage
});

sample image

这是一个错误或我的代码有什么问题?任何建议如何做远程图像?请帮忙..

3 个答案:

答案 0 :(得分:3)

使用此

exports.LoadRemoteImage = function (obj,url) {
   var xhr = Titanium.Network.createHTTPClient();

    xhr.onload = function()
    {
     Ti.API.info('image data='+this.responseData);
     obj.image=this.responseData;

    };
    // open the client
    xhr.open('GET',url);

    // send the data
    xhr.send();
};

保存新文件并命名为" ImageLoader.js" 我忘记了我找到该代码的位置,但是我用它来处理来自互联网的任何图像。

用法:

var ImageLoader = require('ImageLoader');
var imageView = Ti.UI.createImageView({
width:100,
height:100
})

ImageLoader.LoadRemoteImage(imageView,"http://i1314.photobucket.com/albums/t567/vademahendra/sightseeing_zpsd91fa049.png?t=1401680320");

我希望这可以帮到你

答案 1 :(得分:0)

我用这段代码运行应用程序:

var urltoimage = 'http://i1314.photobucket.com/albums/t567/vademahendra/sightseeing_zpsd91fa049.png?t=1401680320';
var win = Ti.UI.createWindow();
var iconImage = Ti.UI.createImageView({
    width: 40,
    height: 40,
    left: 5,
    hires: true,
    defaultImage: '/images/default.jpg',
    image: urltoimage
});
win.add(iconImage);
win.open();

一切正常,所以问题必须出在您的设备或模拟器上 检查网络连接以及是否启用了飞行模式。

答案 2 :(得分:0)

它是否出现在设备上,而不是出现在模拟器上,还是根本没出现?

有时Android可能会对远程图像产生不满。 CDN通常工作得很好,这可能是daniula的代码工作的原因。要尝试的是:

  • 将远程图像的像素尺寸更小 - 测试
  • 使用不同的压缩更改图像文件大小 - 测试
  • 尝试不同的文件类型
  • 尝试使用相同的图像url daniula用于查看将其缩小到图像或代码:如果图像显示,那么它是图像提供的问题;如果图像没有显示,则可能是您的代码存在问题。