我有一個EditText與android:maxLength =「17」和使用按鈕與onClickListener更新此EditText的文本這裏的過程是,當文本長度達到16 EditText動畫的左側約一個字符距離使用TranslateAnimation (0,-15,0,0);然後EditText的第一個字符被刪除。對於這第一個我調用的方法來執行動畫,然後調用方法來刪除第一個字符如下所示如何讓代碼等待,直到動畫結束於android?
animate();
removeChar();
這裏的問題是,在動畫結束之前,角色被移除,意味着動畫運行時removeChar()完成其功能,而我希望removeChar()在動畫結束後執行其功能。
當我用Google搜索這個我找到答案用動畫的聽衆,但同時ECLIPS寫代碼我沒有發現任何動畫偵聽對象
的方法沒有錯誤,並執行它們的功能準確,因爲我想。對於方法的代碼顯示如下
public void animate()
{
//slide is declared at class level
slide = new TranslateAnimation(0, -15, 0,0);
slide.setDuration(1250);
slide.setFillAfter(true);
myEditText.startAnimation(slide);
}
public void removeChar()
{
String update="";
for(int i=1 ; i < myEditText.getText().toString().length() ; i++)
{
update=update+input.getText().toString().charAt(i);
}
myEditText.setText(update);
}
我也曾嘗試使用下面的代碼等待動畫結束,但它會暫停應用程序。
animate();
//slide is declared at class level
while(!(slide.hasEnded()))
{
// Just waste the time
}
removeChar();
我認爲應用程序停止,因爲所有的處理進行了while循環和動畫doe'nt GOTS結束,因此循環將成爲無限循環,並導致應用程序停止
我搜索了很多,沒有發現合適答案plz幫助我,我會選擇一個代碼段或一個小例子,因爲我是新到Android PLZ真的需要幫助......
看看這個鏈接... http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.html – Uttam
thnks它.......工作...... –