Android-活动负载完成后立即开始查看动画



我一直在尝试找出我应该使用哪些回调,以确保所有开始活动的负载都已经完成,现在是启动我的动画的好时机视图。但是,我发现的只有一半是测量,并且并非总是有效的解决方案。Android不可能为这种基本需求提供解决方案。

  • 我已经尝试了OnenteranimationComplete(),但这并未在某些三星设备(再次THNX Samsung)上进行调用
  • 我已经尝试过onwindowfocuschanged()...动画被切成一半
  • 我尝试在某些视图中添加一个globallayoutlistener ...同一件事
  • 我已经尝试了onResume()...再次
  • 我已经尝试了someview.post(new runnable(){....});没有运气

任何人都可以分享他们的见解吗?

尝试在系统执行View.draw(Canvas)的呼叫之前立即调用的OnPreDrawListener

我已经使用了几次动画,我看到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.
  }
}

最新更新