У меня есть активность (A), которая запускает другое действие (B) после вычисления. Моя проблема заключается в том, что при запуске Activity B стрелка, которая должна перемещаться слева направо при увеличении размера (масштабируется от 0,33 до 1), сначала отображается в течение очень короткой доли времени, прежде чем она начнет анимацию анимации анимации , Конечным результатом является мерцание мерцания полного размера, которое можно извлечь прямо перед началом анимации.Подходит для анимации перед анимацией анимации
Все кажется, что проблема связана с файлом анимации (.xml), а не с классом java. Это можно наблюдать, когда я удалить строку arrowImage.startAnimation(arrowExtent);
в следующем коде:
protected void arrowAnimation(Animation arrowExtent) {
// TODO Auto-generated method stub
arrowImage.setImageResource(R.drawable.arrowimage);
arrowImage.startAnimation(arrowExtent);
arrowExtent.setFillAfter(true);
Я попытался следующие:
- Использование setImageDrawable вместо setImageResource к вытяжке объекта.
- Установка
arrowImage.setFillBefore(false);
Любые рекомендации будут весьма благодарны.
Анимация XML выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<set android:interpolator="@android:anim/accelerate_decelerate_interpolator">
<scale
android:fromXScale="0.33"
android:toXScale="1.0"
android:fromYScale="0.0"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="0"
android:duration="1000"
android:fillBefore="false" />
<translate
android:fromXDelta="0%"
android:toXDelta="75%p"
android:duration="1000" />
</set>
Спасибо за предложение, я забыл упомянуть, что для того, чтобы иметь возможность использовать контекстное меню в деятельности B, мне пришлось перенести анимацию из 'OnCreate (') для 'onWindowsFocusChanged()'. Я попробовал анимацию ранее в 'onCreate()' и получил те же результаты. Предлагаемый код не решает проблему, я заметил, что когда 'arrowImage.startAnimation (arrowExtent)' называется выталкиваемым, видимым или невидимым, нарисовано. – javiere
Кроме того, попробовал следующее, чтобы увидеть, наблюдаю ли я какой-то намек, и я это сделал. Я попробовал 'arrowExtent.setStartOffset (1000)' в 'arrowAnimation()'. В результате получилось: 1. Мерцание стрелки. 2. Одна секунда ничего. 3. Анимация, начинающаяся с стрелки, масштабируется и трансформируется по мере продвижения анимации. Таким образом, мое чувство кишки говорит мне, что анимационный файл xml рисует стреловое изображение на экране перед запуском. Я отправляю анимацию xml. – javiere