1.这个函数的具体作用不太清楚,但网上有人说是 ,当activity得到或者失去焦点的时候,就会调用这个方法
先看如下代码
@Override public void onWindowFocusChanged(boolean hasFocus) { android.util.Log.e("zhangshuli", "win"); mHistoryDisplayButton.getLocationOnScreen(mHistoryDisplayButtonLocation); mHistoryDisplayButtonLocationX = mHistoryDisplayButtonLocation[0]; mHistoryDisplayButtonLocationY = mHistoryDisplayButtonLocation[1]; mHistoryHideButton.getLocationOnScreen(mHistoryHideButtonLocation); mHistoryHideButtonLocationX = mHistoryHideButtonLocation[0]; mHistoryHideButtonLocationY = mHistoryHideButtonLocation[1]; mHistoryDisplayListWidth = mHistoryDisplayList.getWidth(); mHistoryHideLastLocationX = mHistoryHideButtonLocationX - mHistoryDisplayListWidth ; mRotationAngle = (135f)/((float)mHistoryDisplayButtonLocationX -(float)mHistoryHideLastLocationX); android.util.Log.e("zhangshuli", "angle"+mRotationAngle); android.util.Log.e("zhangshuli", "mHistoryDisplayListWidth"+mHistoryDisplayListWidth); android.util.Log.e("zhangshuli", "mHistoryHideLastLocationX"+mHistoryHideLastLocationX); android.util.Log.e("zhangshuli", "mHistoryHideButtonLocationX"+mHistoryHideButtonLocationX); android.util.Log.e("zhangshuli", "mHistoryDisplayButtonLocationX"+mHistoryDisplayButtonLocationX); super.onWindowFocusChanged(hasFocus); }
当我进入和退出这个activity的时候,我们可以看到打印的log如下
1)进入
03-23 10:57:30.801 E/zhangshuli( 1762): nihao 03-23 10:57:31.241 E/zhangshuli( 1762): win 03-23 10:57:31.241 E/zhangshuli( 1762): angle0.5672269 03-23 10:57:31.241 E/zhangshuli( 1762): mHistoryDisplayListWidth362 03-23 10:57:31.241 E/zhangshuli( 1762): mHistoryHideLastLocationX378 03-23 10:57:31.241 E/zhangshuli( 1762): mHistoryHideButtonLocationX740 03-23 10:57:31.241 E/zhangshuli( 1762): mHistoryDisplayButtonLocationX616
2)退出
03-23 10:57:35.736 E/zhangshuli( 1762): win 03-23 10:57:35.736 E/zhangshuli( 1762): angle0.5672269 03-23 10:57:35.736 E/zhangshuli( 1762): mHistoryDisplayListWidth362 03-23 10:57:35.736 E/zhangshuli( 1762): mHistoryHideLastLocationX378 03-23 10:57:35.736 E/zhangshuli( 1762): mHistoryHideButtonLocationX740 03-23 10:57:35.736 E/zhangshuli( 1762): mHistoryDisplayButtonLocationX616
所以我们知道,这个方法是在activity加载或者退出的时候都会调用。对它唯一的认识就是,如果你想要得到一个控件的位置坐标,那么你必须在这个方法中执行相应的代码,在oncreate中是得不到的
onWindowFocusChanged-屏幕焦点函数回调情况
原文:http://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_focus_150323111.html