1
Как я могу контролировать скорость анимации? Анимация трансляции идет снизу вверх, и я хотел бы замедлить анимацию за время ее выполнения. Как я могу это достичь? Вот что у меня есть:Есть ли способ замедлить перевод анимации при ее выполнении?
public void SlideToAbove() {
Animation slide = null;
slide = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF,
0.0f, Animation.RELATIVE_TO_SELF, 0.0f);
slide.setDuration(300);
slide.setFillAfter(true);
slide.setFillEnabled(true);
toolBar.startAnimation(slide);
final Animation finalSlide = slide;
slide.setAnimationListener(new Animation.AnimationListener() {
public void onAnimationStart(Animation animation) {
}
public void onAnimationRepeat(Animation animation) {
}
public void onAnimationEnd(Animation animation) {
CoordinatorLayout.LayoutParams lp = new CoordinatorLayout.LayoutParams(
toolBar.getWidth(), toolBar.getHeight());
lp.setMargins(0, 0, 0, 0);
appBarLayout.setLayoutParams(lp);
finalSlide.setFillAfter(true);
}
});
добавить больше, если вы хотите, чтобы это было медленным. –
Я имел в виду, как замедлить время, когда дно доходит до вершины. Например, когда пользователь нажимает анимацию, она берет дно, чтобы достичь вершины в течение 4 секунд. – Sean
slide = new TranslateAnimation (-100f, 0f, 0f, 0f); в основном длительность помогает, но вы можете попробовать это –