2016-04-17 16 views
0

カスタムプログレスバーを作成するためにコードの目的を変更しようとしていますが、最終変更を行う方法を理解できません。Appcelerator Titaniumでイベントの後にイベントを作成する方法

現在の実装はプログレスバーを実行します。私が望むのは、プログレスバーがテキストを更新してそれ自体で消えることです。最後の緑の進行が完了したときに

var win = Ti.UI.createWindow({ 
    backgroundColor: 'white', 
}); 

var label1 = Ti.UI.createLabel({ 
    text: 'Working on it...', 
    textAlign:'center', 
}); 

var track = Ti.UI.createView({ 
    width: "60%", height: "20%", 
    borderRadius:40, 
    backgroundColor: 'red' 
}); 
var progress = Ti.UI.createView({ 
    borderRadius:40, 
    left: 0, 
    width: 5, height: "100%", 
    backgroundColor : "green" 

}); 
track.add(progress); 
track.add(label1); 
win.add(track); 

win.addEventListener('open', function() { 
    progress.animate({ 
     width: "100%", 
     duration: 1000 
    }); 
}); 

win.open(); 

だから - 私は

したいと思います。 「作業中」を「完了」に置き換えます。
b。 1000ミリ秒後には、プログレスバー全体が消えます。

答えて

1

completeイベントのリスナーを追加する必要はありませんのcompleteイベントリスナーを使用することができ、あなたはアニメーションの方法自体に匿名関数を追加することができます

例えば

progress.animate({ 
    width: "100%", 
    duration: 1000 
},function(e){ 
    label1.text = "complete"; 
    win.remove(track); 
}); 
+0

素晴らしい!ありがとう..すばやい質問 - ラベル1の後に500msの待機時間を追加できますか? – hypermails

+0

progress.animate({ 幅: "100%"、 持続時間:500 }、関数(E){ ます。Label1.Text = "完了"; \t \tのsetTimeout(関数(){ \t \t //要求方法はこちら \t \t win.remove(track); \t \t}; }}); – hypermails

-1

あなたはAnimation object

// create the animation 
    var animation = Ti.UI.createAnimation({ 
    width: "100%", 
    duration: 1000 
    }); 

    animation.addEventListener("complete", function onAnimationComplete(e){ 
    // YOUR CODE HERE 
    animation.removeEventListener("complete", onAnimationComplete); 
    }); 

progress.animate(animation); 

詳細Titanium.UI.Animation

+0

HI - これがどのように動作し、上記のコードに挿入されているか分かりません。申し訳ありません - 私は初心者です。私はよく分かりません。 – hypermails

関連する問題