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类是一个设备上下文类 ...
随机推荐
- beego实现web api接口
1)程序代码: /** * 类似beego版物联网首页产品数据的调用 */import ( "github.com/astaxie/beego" "githu ...
- Web API总结
1.Web API 控制器(Controller) 继承ApiController 2. Api 的 Url Map: api/{controller}/{id} 每个"Action&quo ...
- springMVC No mapping found for HTTP request with URI
转载自:http://blog.sina.com.cn/s/blog_534f69a00101332u.html 1.问题: No mapping found for HTTP request wit ...
- HTTP 413报错
在php中通过flash上传文件到服务器端时报413错误,原来一直以为是php.ini配置的问题,但是检查了php.ini的配置以后,发现不是php.ini的问题,最后是通过Http Analyzer ...
- HDU 4588 Count The Carries 数位DP || 打表找规律
2013年南京邀请赛的铜牌题...做的非常是伤心.另外有两个不太好想到的地方.. ..a 能够等于零,另外a到b的累加和比較大.大约在2^70左右. 首先说一下解题思路. 首先统计出每一位的1的个数, ...
- [Python] Reuse Code in Multiple Projects with Python Modules
A module is a function extracted to a file. This allows you to import the function and use it in any ...
- 转战Androidstudio之项目eclipse迁移
新项目開始,决定转战as战场,(是应为听说了太多关于as的夸赞我才来的),期间各种不爽不适应历历在目啊.闲话少说,项目迁移開始 1.Eclipse迁出 当然直接从Eclipse迁出是有条件的,ADT必 ...
- Python Web框架Tornado的异步处理代码演示样例
1. What is Tornado Tornado是一个轻量级但高性能的Python web框架,与还有一个流行的Python web框架Django相比.tornado不提供操作数据库的ORM接口 ...
- Ajax缓存原理
一.什么是Ajax缓存原理? Ajax在发送的数据成功后,会把请求的URL和返回的响应结果保存在缓存内,当下一次调用Ajax发送相同的请求时,它会直接从缓存中把数据取出来,这是为了提高页面的响应速度和 ...
- Nabou应用实例
本文接上文 <完整性检查工具Nabou> http://chenguang.blog.51cto.com/350944/280712650) this.width=650;" ...