2012-06-19 3 views
0

일반 텍스트 메시지 대신 축배로 이미지를 표시하고 싶습니다. 나는 시도했다 :이미지가있는 티타늄 알림 (android toast)

try{ 
    var toast = Titanium.UI.createNotification({ 
    duration: Ti.UI.NOTIFICATION_DURATION_LONG, 
    background: '/images/img1.png' 
    }); 
    toast.show(); 
} 
catch (err) 
{ 
    alert(err.message); 
} 

응용 프로그램은 어떤 경고를주지 않고 추락됩니다. 나는 또한 시도했다 :

try{ 
    var toast = Titanium.UI.createNotification({ 
    duration: Ti.UI.NOTIFICATION_DURATION_LONG, 
    message: 'text', 
    }); 
    toast.setBackgroundImage('/images/img1.png'); 
    toast.show(); 
} 
catch (err) 
{ 
    alert(err.message); 
} 

그러나 같은 문제. 오류 경고없이 응용 프로그램이 중단됩니다. 토스트에 이미지를주는 법을 아는 사람은 누구입니까?

답변

0

을 ../images/img1.png. 내 요구 사항에 따라 페이드 아웃 시간을 결정했습니다 (예 : 총 시간의 10 %). 이 코드는 back button pressed 이벤트를 수동으로 처리해야 할 수도 있습니다.

var createImageToast = function (img, time) 
{ 
    Ti.UI.backgroundColor = 'white'; 
    var win = Ti.UI.createWindow(); 
    var image = Ti.UI.createImageView({ 
     image: img, 
    }); 
    win.add(image); 
    win.open(); 
    setTimeout(function(){ 
     decreaseImageOpacity(win,image,1,parseInt(time/10)); 
    },parseInt(time*9/10)); 
} 
var decreaseImageOpacity = function (win, image, opacity, time) 
{ 
    if(opacity<=0) 
    { 
     win.close(); 
    } 
    else 
    { 
     setTimeout(function(){ 
      image.setOpacity(''+opacity); 
      decreaseImageOpacity(win,image,opacity-0.1, time); 
     },parseInt(time/10)); 
    } 
} 
0

배경 이미지 경로에 '..'가 누락 된 것 같습니다.

/images/img1.png는 같아야 I는 아래 함수에 의해 그것을 해결

+1

제안 된 답변 중 하나가 작동하지 않습니다. 코드가 작동하는 곳에서 코드를 보여줄 수 있습니까? –

관련 문제