从品牌网站建设到网络营销策划,从策略到执行的一站式服务
《Android开发艺术探索》笔记:
创新互联科技有限公司专业互联网基础服务商,为您提供中国电信成都枢纽中心,高防主机,成都IDC机房托管,成都主机托管等互联网服务。在Activity的onCreate()或者onResume()中去获得View的高度的时候不能正确获得宽度和高度信息,这是因为 View的measure过程和Activity的生命周期不是同步执行的,因此无法保证Activity执行了onCreate onStart onResume时,某个View已经测量完毕了,如果还没有测量完,那么获得的宽高就是0。可以通过下面几种方式来获得:
1、onWindowFocusChanged
onWindowFocusChanged:View已经初始化完毕,宽高已经有了,需要注意onWindowFocusChanged会被调用多次,Activity得到焦点和失去焦点都会执行这个回调,见下图:
1、Activity首次进入的时候执行的方法
2、跳转到另一个Activity时
3、返回到当前Activity时
可见当执行onResume和onPause时,onWindowFocusChanged都会被调用。
@Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { //获得宽度 int width = view.getMeasuredWidth(); //获得高度 int height = view.getMeasuredHeight(); } }
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图