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)进入

- ::30.801 E/zhangshuli( ): nihao
- ::31.241 E/zhangshuli( ): win
- ::31.241 E/zhangshuli( ): angle0.
- ::31.241 E/zhangshuli( ): mHistoryDisplayListWidth362
- ::31.241 E/zhangshuli( ): mHistoryHideLastLocationX378
- ::31.241 E/zhangshuli( ): mHistoryHideButtonLocationX740
- ::31.241 E/zhangshuli( ): mHistoryDisplayButtonLocationX616

2)退出

- ::35.736 E/zhangshuli( ): win
- ::35.736 E/zhangshuli( ): angle0.
- ::35.736 E/zhangshuli( ): mHistoryDisplayListWidth362
- ::35.736 E/zhangshuli( ): mHistoryHideLastLocationX378
- ::35.736 E/zhangshuli( ): mHistoryHideButtonLocationX740
- ::35.736 E/zhangshuli( ): mHistoryDisplayButtonLocationX616

所以我们知道,这个方法是在activity加载或者退出的时候都会调用。对它唯一的认识就是,如果你想要得到一个控件的位置坐标,那么你必须在这个方法中执行相应的代码,在oncreate中是得不到的

我们现在再把它跟Oncreate做一下比较

log打印如下

 @Override
public void onCreate(Bundle state) {
super.onCreate(state); android.util.Log.e("zhangshuli", "nihao");
} @Override
public void onWindowFocusChanged(boolean hasFocus) {
android.util.Log.e("zhangshuli", "win"); super.onWindowFocusChanged(hasFocus);
}

1)当我们启动应用的时候

- ::37.577 E/zhangshuli( ): nihao
- ::38.178 E/zhangshuli( ): win

2)按下HOME建

- ::19.584 E/zhangshuli( ): win

3)按下HOME建再次进入

- ::25.664 E/zhangshuli( ): win

4)直接退出

- ::30.899 E/zhangshuli( ): win

可以得到一个结论,就是oncreate比focus先执行。但是,如论程序怎么走,都会执行focus

onWindowFocusChanged-屏幕焦点函数回调情况的更多相关文章

  1. 如何在不使用系统函数的情况下实现PHP中数组系统函数的功能

    PHP中为我们提供了各种各样的系统函数来实现我们需要的各种功能,那么,在不使用系统函数的情况下我们要怎样来实现这些功能呢?以下就是几种系统函数的实现方式. 首先,我们来定义一个数组: $arr= ar ...

  2. 闭包函数&回调函数

    闭包函数&回调函数 谈到回调函数,不得不提匿名函数;匿名函数,也叫闭包函数,也就是没有名字的函数,它可以单独存在,也可以将其赋值给某一个变量.so,先来看一下闭包函数. 闭包函数 php文档: ...

  3. 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数

    [源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...

  4. 【Cocos2d-X开发学习笔记】第18期:动作类之改变动作对象、函数回调动作以及过程动作的使用

    本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一.改变动作执行对象 CCTargetedAct ...

  5. iScroll屏幕滑动函数封装总结

    //iScroll.js屏幕滚动函数 function funScroll(a,b) { var d; function beforload() { d = new iScroll(a, { chec ...

  6. js jquery 函数回调

    JS 函数回调 $('#btn_update').click(function () { var table_id = $table.bootstrapTable('getSelections')[0 ...

  7. VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)

    上一节中鸡啄米讲了文本输出的知识,本节的主要内容是CDC类及其屏幕绘图函数. CDC类简介 CDC类是一个设备上下文类. CDC类提供了用来处理显示器或打印机等设备上下文的成员函数,还有处理与窗口客户 ...

  8. python全栈开发_day15_函数回调和模块

    一:函数回调 def a(fn=None): print("run1") if fn: fn() print("run 2") def b(): print(& ...

  9. VS2010-MFC(图形图像:CDC类及其屏幕绘图函数)

    转自:http://www.jizhuomi.com/software/244.html 上一节讲了文本输出的知识,本节的主要内容是CDC类及其屏幕绘图函数. CDC类简介 CDC类是一个设备上下文类 ...

随机推荐

  1. js图表插件绘制各种类型图表

    官网:http://www.bootcss.com/p/chart.js/ 中文参考手册:http://www.bootcss.com/p/chart.js/docs/ 一.生成折线图 :test.h ...

  2. Linux下java/bin目录下的命令集合

    Linux下JAVA命令(1.7.0_79) 命令 详解 参数列表 示例 重要程度 资料 appletviewer Java applet 浏览器.appletviewer 命令可在脱离万维网浏览器环 ...

  3. 数据持久化-存取方式总结&应用沙盒&文件管理NSFileManager

    iOS应用数据存储的常用方式:  1.XML属性列表   (plist归档)  2.NSUserDefaults (偏好设置)  3.NSKeyedArchiver  归档(加密形式)  4.SQLi ...

  4. 【Henu ACM Round#18 D】Looksery Party

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 假设现在每个人收到的信息条数存在cnt里面 那个人猜的条数为target 则如果cnt[i]==target[i] 则我们就让第i个 ...

  5. 【Codeforces Round #424 (Div. 2) C】Jury Marks

    [Link]:http://codeforces.com/contest/831/problem/C [Description] 有一个人参加一个比赛; 他一开始有一个初始分数x; 有k个评委要依次对 ...

  6. EditPlus,UltraEdit等编辑器列选择的方法

    在使用富文本编辑器的时候,通常模式是行选择状态,由于今天想使用EditPlus列选择状态, 于是通过在网上收集的资料,总结出相关富文本编辑器的列选择的方法. EditPlus  1)菜单:编辑 -&g ...

  7. ethercat主站控制软件TwinCAT的安装

    TwinCAT软件系统是基于PC兼容机的自己主动化系统,全称是"The Windows Control and Automation Technology".它把不论什么PC兼容机 ...

  8. UDP连接调用connect()函数

    UDP是一个无连接的协议,它没有像TCP中EOF之类的东西. 8.11 UDP的connect函数 除非套接字已连接,否则异步错误是不会反悔到UDP套接字的. 我们确实能够给UDP套接字调用conne ...

  9. modSecurity规则学习(一)——配置文件

    环境:modSecurity3.0,nignx1.13.8 modSecurity配置文件 1.nginx.conf server { listen ; modsecurity on; //启动mod ...

  10. [BZOJ2143]飞飞侠 并查集优化最短路

    链接 题解 首先很容易想到对每个点暴力跑Dijkstra,但是这样边数是 \(N^4\) 的,考虑优化 发现每次松弛的时候,都要把整个地图扫一遍,每个节点都要重复扫很多次,如果我们在一个点不会再被更新 ...