Android:在片段完全加载后启动动画
我有一个片段有一个textView fadein的动画。动画必须在一段时间延迟后开始,比如加载片段后2秒。我为此写了一个代码。但动画部分已完成,然后渲染视图。如何加载片段并在延迟一段时间后启动动画 我的代码如下:注意:该类扩展了片段Android:在片段完全加载后启动动画,android,animation,android-fragments,Android,Animation,Android Fragments,我有一个片段有一个textView fadein的动画。动画必须在一段时间延迟后开始,比如加载片段后2秒。我为此写了一个代码。但动画部分已完成,然后渲染视图。如何加载片段并在延迟一段时间后启动动画 我的代码如下:注意:该类扩展了片段 Animation animFadein; MenuClickHelper mClickHelper; TextView tv; @Override public View onCreateView(LayoutInflater inflater, ViewGro
Animation animFadein;
MenuClickHelper mClickHelper;
TextView tv;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_main_menu,
container, false);
mClickHelper = new MenuClickHelper(rootView, getFragmentManager());
tv = (TextView) rootView.findViewById(R.id.tvPresentation);
animFadein = AnimationUtils.loadAnimation(getActivity()
.getApplicationContext(), R.anim.fade_in);
animFadein.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
if (animation == animFadein) {
Toast.makeText(getActivity().getApplicationContext(),
"Animation Stopped", Toast.LENGTH_SHORT).show();
}
}
});
try {
Thread.sleep(2000);
tv.startAnimation(animFadein);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rootView;
}
Thread.sleep(2000)代码>不要使用sleep方法阻塞main,您可以使用Handler类并使用postdelay延迟动画:
示例:
更改此项:
try {
Thread.sleep(2000);
tv.startAnimation(animFadein);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
到
您可以通过以下方法获得相同的结果:
android:startOffset="2000"
在您的XML动画集文件中。您有什么完美的解决方案吗?
android:startOffset="2000"