Изменение положения макета с анимацией в Android
В моем приложении я сделал чат
Я могу изменить положение этого чата, используя
windowManager.updateViewLayout(chatHead, params);
Но это не меняет положение с анимацией.
Как я могу получить анимацию на ходу
Я попытался следовать, но это не работает.
TranslateAnimation anim = new TranslateAnimation( 0, params.x, 0, params.y);
anim.setDuration(1000);
chatHead.startAnimation(anim);
2 ответа
Вы проверили правильность значения params.x и params.y или нет?
TranslateAnimation anim = new new TranslateAnimation( 0, params.x, 0, params.y);
anim.setDuration(1000);
anim.setAnimationListener(new TranslateAnimation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) { }
@Override
public void onAnimationRepeat(Animation animation) { }
@Override
public void onAnimationEnd(Animation animation)
{
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)chatHead.getLayoutParams();
**//set margin according to your calculation**
params.topMargin = mTopMargin;
params.leftMargin = 0;
chatHead.setLayoutParams(params);
});
chatHead.startAnimation(anim);
}
или же
использовать anim.setFillAfter(true);