1
我試圖讓在Android plataform動畫倒計時,在TextView的這個節目去3號從0成長到1.5上規模的財產,所以2號,1去!」。動畫的TextView更改文本,並再次動畫(動畫倒計時)
我使用一個TextView,動畫和AnimationListener,但我希望動畫不能正常工作,它只是在第一動畫顯示3號,所以它顯示的字「去!」沒有動畫。
我在做什麼錯?
謝謝!
這裏查看counter.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_height="fill_parent"
android:layout_width="fill_parent" android:gravity="center_vertical|center_horizontal">
<TextView
android:id="@+id/txtCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3" android:textColor="#ffffff" android:textSize="150dp"/>
</LinearLayout>
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:interpolator="@android:anim/linear_interpolator"
android:fromXScale="0"
android:toXScale="1.5"
android:fromYScale="0"
android:toYScale="1.5"
android:fillAfter="false"
android:duration="1000" />
</set>
我的代碼:
public class AdivinhacaoActivity extends Activity {
...
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
//async task
new loaderImages(this).execute();
}
private class loaderImages extends AsyncTask<Void, String, Bitmap[]> {
Activity activity;
public loaderImages(Activity act){
activity = act;
}
protected Bitmap[] doInBackground(Void... arg0) {
...
return list;
}
...
int countCounter;
protected void onPostExecute(Bitmap[] imagens){
bmps = imagens;
carregaContagem();
final Animation anima = AnimationUtils.loadAnimation(activity, R.anim.counter);
countCounter = 3;
anima.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation anim){};
public void onAnimationRepeat(Animation anim){};
public void onAnimationEnd(Animation anim)
{
//here I tried txtCount.clearAnimation() but it doesn't work
countCounter--;
if(countCounter >= 0){
//change the text
if(countCounter > 0){
txtCount.setText("" + countCounter);
}
else{
txtCount.setText("GO!");
}
//start animation again with text changed
txtCount.startAnimation(anim);
}
else{
...
}
};
});
//start animation first time
txtCount.startAnimation(anima);
}
}
}