我一直试图找出我应该使用什么回调,以便绝对确定所有开始活动的加载已经完成,现在是开始我的视图动画的好时机。然而,我发现的只有半措施,并不总是有效的解决方案。 Android无法为此基本需求提供解决方案。
有人可以分享他们的见解吗?
答案 0 :(得分:0)
在系统执行OnPreDrawListener
上的调用之前,尝试View.draw(Canvas)
立即调用。
我已经使用了几次动画,我看到Chet Haase在Q& A上多次提出建议。
public void MyAct extends AppCompatActivity implements OnPreDrawListener {
@Override
public void onCreate(SavedInstanceState state) {
super.onCreate(state);
init all your stuff...
if(state == null) {
rootView.getViewTreeObserver().addOnPreDrawListener(this);
}
}
@Override
public void onPreDraw() {
// remove the listener, you don't want to get called anymore
rootView.getViewTreeObserver().removeOnPreDrawListener(this);
do your thing here ...
return true; // if you return false, it will cancel the draw operation.
}
}