У меня есть эта ImageButton.Я хочу, чтобы анимация началась в определенное время.Я просмотрел документацию по Android и обнаружил setStartTime (long startTimeMillis) .
Вот что я придумал:
private ImageButton imgBtn;
// Other variables and stuff..
//And inside to onCreate void, I have set the button listener.
imgBtn.setOnClickListener(tappClickHandler);
Button.OnClickListener imgClickHandler = new Button.OnClickListener() {
@Override
public void onClick(View v) {
new AsyncTaskExample().execute("");
}
};
private class AsyncTaskExample extends AsyncTask<String, Integer, Integer> {
protected void onPreExecute(){
AlphaAnimation alDown = new AlphaAnimation(1.0f, 0.1f);
alDown.setDuration(200);
alDown.setFillAfter(true);
imgBtn.startAnimation(alDown);
}
@Override
protected Integer doInBackground(String... params) {
Date test = new Date();
return (test.getTime()/1000) + 5;
}
protected void onProgressUpdate(Integer... progress) {
}
protected void onPostExecute(Integer result) {
Date clientTime = new Date();
AlphaAnimation alUp = new AlphaAnimation(0.1f, 1.0f);
alUp.setDuration(200);
alUp.setStartTime(result);
imgBtn.setAnimation(alUp);
Log.d(LOG_TAG, "Time to start: " + imgBtn.getAnimation().getStartTime());
Log.d(LOG_TAG, "Current device time: " + clientTime.getTime()/1000);
}
}
Журнал печатает:
02-13 20: 40: 42.634: D / tappWin (3504): время запуска: 1329162048
02-13 20: 40: 42.634: D / tappWin (3504): текущее время устройства:1329162042
imgBtn создает первую анимацию, но не вторую ..