Android Animation оставляет артефакты

У меня есть довольно странная проблема с анимацией в моем проекте. На скриншотах, размещенных ниже, вы можете четко видеть, как карта Totals оставляет какой-то след при анимации. Эта проблема воспроизводится на складе Nexus 7 4.2.2. У карты Totals есть анимация в стиле Google Now. Важно отметить, что контейнер для карты Totals – это фрагмент, меню слева на скриншоте пейзажа – это другой фрагмент, а нижние – часть действия, к которому прикреплены фрагменты.

Скриншот ландшафта

Портретный снимок экрана

Я не могу найти решение в Интернете, я попробовал setFillAfter «true» и компенсировал начало анимации. След в кнопках «Действия» внизу («Предыдущее и следующее») исчезает при нажатии одной из кнопок.

Вот код в onCreateView фрагмента Totals:

final View view = inflater.inflate(R.layout.fragment_totals, container, false); Fonts.setRobotoThinFont(getActivity(), view); final LinearLayout mContainer = (LinearLayout) view.findViewById(R.id.container); final View mCard = inflater .inflate(R.layout.view_simpletotal, mContainer, false); Animation animation = AnimationUtils.loadAnimation(getActivity(), R.anim.card_animation); mContainer.addView(mCard); mCard.startAnimation(animation); return view; 

Любая помощь приветствуется!

Solutions Collecting From Web of "Android Animation оставляет артефакты"

Вы можете легко избавиться от него, просто аннулируя действие контейнера при завершении анимации.

Я предлагаю вам использовать метод setLayoutAnimation() класса ViewGroup . Я думаю, это поможет вам.
Например, вы можете написать этот код внутри вашего класса фрагмента:

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { ... rootView.setLayoutAnimation(getLayoutAnimation()); ... } private LayoutAnimationController getLayoutAnimation() { Animation animation = new RotateAnimation(30, 0, -100, 0); animation.setDuration(1000); LayoutAnimationController layoutAnimationController = new LayoutAnimationController(animation); return layoutAnimationController; } 

Посмотрите, что произойдет с анимацией.