Android Activity补充

来源:互联网 发布:大象vs鳄鱼 知乎 编辑:程序博客网 时间:2024/04/29 09:46

onWindowFocusChanged

该方法在onResume后调用(true)
或者在onPause之后被调用onWindowFocusChanged(false)

onSaveInstanceState

  • 在Activity被覆盖或退居后台之后,系统资源不足将其杀死,此方法会被调用
  • 在用户改变屏幕方向时,此方法会被调用
  • 在当前Activity跳转到其他Activity或者按Home键回到主屏,自身退居后台时,此方法会被调用
    调用顺序是在onPause之前

onRestoreInstanceState

  • 在Activity被覆盖或退居后台之后,系统资源不足将其杀死,然后用户又回到了此Activity,此方法会被调用
  • 在用户改变屏幕方向时,重建的过程中,此方法会被调用
    调用顺序是在onStart之后,onResume之前?

指定横竖屏

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);  //竖屏setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); //横屏  

Activity的四种launchMode

1.standard
2.singleTop
3.singleTask
4.singleInstance

onGlobalLayout

final LinearLayout imageViewContainer = (LinearLayout)findViewById(R.id.crop_photo_image_view_container);  imageViewContainer.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {      boolean isFirst = true;//默认调用两次,这里只让它执行一次回调      @Override      public void onGlobalLayout() {          if (isFirst) {              isFirst = false;              //现在布局全部完成,可以获取到任何View组件的宽度、高度、左边、右边等信息              Log.i("CDH", "Global W:"+imageViewContainer.getMeasuredWidth()+"  H:"+imageViewContainer.getMeasuredHeight());          }      }  }); 
0 0
原创粉丝点击