onWindowFocusChanged-屏幕焦点函数回调情况
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-屏幕焦点函数回调情况的更多相关文章
- 如何在不使用系统函数的情况下实现PHP中数组系统函数的功能
PHP中为我们提供了各种各样的系统函数来实现我们需要的各种功能,那么,在不使用系统函数的情况下我们要怎样来实现这些功能呢?以下就是几种系统函数的实现方式. 首先,我们来定义一个数组: $arr= ar ...
- 闭包函数&回调函数
闭包函数&回调函数 谈到回调函数,不得不提匿名函数;匿名函数,也叫闭包函数,也就是没有名字的函数,它可以单独存在,也可以将其赋值给某一个变量.so,先来看一下闭包函数. 闭包函数 php文档: ...
- 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数
[源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...
- 【Cocos2d-X开发学习笔记】第18期:动作类之改变动作对象、函数回调动作以及过程动作的使用
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一.改变动作执行对象 CCTargetedAct ...
- iScroll屏幕滑动函数封装总结
//iScroll.js屏幕滚动函数 function funScroll(a,b) { var d; function beforload() { d = new iScroll(a, { chec ...
- js jquery 函数回调
JS 函数回调 $('#btn_update').click(function () { var table_id = $table.bootstrapTable('getSelections')[0 ...
- VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)
上一节中鸡啄米讲了文本输出的知识,本节的主要内容是CDC类及其屏幕绘图函数. CDC类简介 CDC类是一个设备上下文类. CDC类提供了用来处理显示器或打印机等设备上下文的成员函数,还有处理与窗口客户 ...
- python全栈开发_day15_函数回调和模块
一:函数回调 def a(fn=None): print("run1") if fn: fn() print("run 2") def b(): print(& ...
- VS2010-MFC(图形图像:CDC类及其屏幕绘图函数)
转自:http://www.jizhuomi.com/software/244.html 上一节讲了文本输出的知识,本节的主要内容是CDC类及其屏幕绘图函数. CDC类简介 CDC类是一个设备上下文类 ...
随机推荐
- Quart 学习
quartz版本使用2.2.1 梳理一下其中的流程,可以表示为: 0.调度器线程run() 1.获取待触发trigger 1.1数据库LOCKS表TRIGGER_ACCESS行加锁 1.2读取JobD ...
- 如何快速复制Windows警告提示消息对话框内容
凡是使用过计算机的朋友,都遇到过系统发出的警告提示消息对话框,如图所示. 哇!好长的一串英文错误警告,这要手写到什么时候呢?不!现在不用这么麻烦了. 你只要鼠标选中这个提示框Ctrl+C,然后打开你的 ...
- 使用powerdesigner建模时设置主键自增的问题
研究了一下,其实只要双击表,选择columns,再双击在你所要设为自增型的键上(比如你的id)或者右键选择Properties,弹出一个ColumnProperties 对话框,我们看到有标识 ide ...
- mysql 5.6 安装教程
首先是下载 mysql-installer-community-5.6.14.0.msi ,大家可以到 mysql 官方网去下载,也可以到笔者所提供的地址去下载,下载方法在这里就不多说了,我想大家都明 ...
- js编码方式详解
escape.encodeURI 和encodeURIComponent 的区别 escape(), encodeURI()和encodeURIComponent()是在Javascript中用于编码 ...
- 51nod 编辑距离 + 滚动数组优化
这道题一开始觉得增加和删除会移动字符串的位置很不好做 两个字符串dp状态一般是第一个前i个和第二个前j个 #include<cstdio> #include<algorithm> ...
- Centos6.5 安装lamp环境
转载自:http://www.jb51.net/article/37987.htm (转载请注明出处,谢谢) 准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/i ...
- jquery点击弹框外层关闭弹框
$(document).bind("click",function(e){ if($( e.target ).closest(".game-cont ...
- android应用开发-从设计到实现 3-9 Origami动态原型设计
动态原型设计 动态的可交互原型产品,是产品经理和界面设计师向开发人员阐释自己设计的最高效工具. 开发人员不须要推測设计师要什么样的效果,照着原型产品做就好了. 非常多创业团队也发现了产品人的这个刚需, ...
- hdu 5375 - Gray code(dp) 解题报告
Gray code Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total ...