【发布时间】:2013-05-06 07:07:17
【问题描述】:
我的项目中的动画有一个相当奇怪的问题。在下面发布的屏幕截图中,您可以清楚地看到总计卡在动画上留下了某种痕迹。这个问题可以在运行 4.2.2 的 Nexus 7 上重现。 Totals 卡片具有 Google Now 风格的动画。需要注意的是,Totals 卡的容器是一个 Fragment,横向屏幕截图左侧的 Menu 是一个不同的 Fragment,底部按钮是 Fragments 所附加到的 Activity 的一部分。
网上好像没找到解决办法,我试过setFillAfter"true",偏移动画的开头。当按下其中一个按钮时,底部 Activity 按钮中的轨迹(“上一个”和“下一个”)会消失。
Totals Fragment 的 onCreateView 中的代码如下:
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;
任何帮助将不胜感激!
【问题讨论】:
-
您是否尝试在动画结束时使整个活动容器无效?
-
那就摆脱它,非常感谢!这样做是否被视为“良好做法”?
-
好吧,我认为您应该更好地使用官方参考中显示的片段自定义动画(看起来您正在为整个片段制作动画,不是吗?)developer.android.com/training/animation/cardflip.html
-
好点,但我正在为片段内部的视图而不是整个片段本身设置动画。不过感谢您的参考!
-
如果您不介意,我会将给定的解决方案作为答案发布,以便您接受。
标签: android animation android-fragments visual-artifacts