Я пишу приложение, использующее распознавание речи Android.Анимация начинается только после завершения распознавания речи
В моей RecognitionListener
у меня есть что-то вроде этого:
@Override @TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void onRmsChanged(float rmsdB)
{
if(mSpeakButtonBorder == null) mSpeakButtonBorder = (ImageView) findViewById(R.id.SpeakButtonBorder);
// Should continue growing in size each time onRmsChanged is called.
Animation animation = new ScaleAnimation(mSpeakButtonBorder.getScaleX(), mSpeakButtonBorder.getScaleX() + 0.1f, mSpeakButtonBorder.getScaleY(), mSpeakButtonBorder.getScaleY() + 0.1f);
animation.setDuration(1000);
animation.setFillAfter(true);
mSpeakButtonBorder.startAnimation(animation);
}
Почему анимация только начать после распознавания вернулся с результатом?
Использование ObjectAnimator, похоже, имеет такой же эффект. –
Вы поставили журналы, чтобы проверить значения, возвращаемые getScaleX? –
Возможно также, что OnRmsChanged получает вызов слишком часто, чтобы позволить фреймворку выполнить анимацию. Попробуйте вместо этого включить OnBufferReceived или может быть в OnPartialResults. –