2013-02-11 5 views
0

Я делаю анимацию поворота на ImageView при запуске моего приложения.Как сохранить состояние анимации?

Затем, после события в приложении, я хочу сделать анимацию fadeout с тем же ImageView.

Это работает, НО до того, как он делает анимацию fadeout, он восстанавливает состояние ImageView перед анимацией вращения.

Таким образом, он возвращается к «невращенному» состоянию, а затем исчезает.

Можно ли сохранить состояние анимации в ImageView после первого поворота и продолжить с анимации постепенного исчезновения?

+0

вы используете fillAfter? Показать анимационный код/​​xml. – Leonidos

+0

fillEnabled = true и fillAfter = true – dmaxi

+0

Да, я использую fillafter, проблема у меня в том, что когда я делаю дополнительную анимацию в представлении, на котором я делал анимацию раньше (и оба с fillAfter). – 2013-02-11 21:51:23

ответ

0

Просто потому, что вы живете, это не значит, что вы его постоянно меняли (см. previous discussion). Вы можете изменить метод onAnimationEnd(), чтобы сделать эффект вашей первой анимации перманентным перед началом другой анимации.

+0

ОК, так onAnimationEnd, где я могу сделать изменение постоянным, но как? Я не знаю другого способа повернуть изображение, чем использовать анимацию – 2013-02-12 17:55:44

0

Хорошо я должен использовать вращение матрицы вместо анимации я догадываюсь:

ImageView circle = (ImageView) findViewById(R.id.imageView1); 
Bitmap myImg = BitmapFactory.decodeResource(getResources(), R.drawable.rotated); 

Matrix matrix = new Matrix(); 
matrix.postRotate(45); 

Bitmap rot = Bitmap.createBitmap(myImg, 0, 0, myImg.getWidth(), myImg.getHeight(), 
     matrix, true); 

circle.setImageBitmap(rot); 
Смежные вопросы