返回顶部
首页 > 资讯 > 精选 >Android 获得View宽高的几种方式总结
  • 602
分享到

Android 获得View宽高的几种方式总结

androidviewroi 2023-05-31 01:05:39 602人浏览 八月长安
摘要

《Android开发艺术探索》笔记:在Activity的onCreate()或者onResume()中去获得View的高度的时候不能正确获得宽度和高度信息,这是因为 View的measure过程和Activity的生命周期不是同步执行的,因

《Android开发艺术探索》笔记:

在Activity的onCreate()或者onResume()中去获得View的高度的时候不能正确获得宽度和高度信息,这是因为 View的measure过程和Activity的生命周期不是同步执行的,因此无法保证Activity执行了onCreate onStart onResume时,某个View已经测量完毕了,如果还没有测量完,那么获得的宽高就是0。可以通过下面几种方式来获得:

1、onWindowFocusChanged

onWindowFocusChanged:View已经初始化完毕,宽高已经有了,需要注意onWindowFocusChanged会被调用多次,Activity得到焦点和失去焦点都会执行这个回调,见下图:

Android 获得View宽高的几种方式总结

Activity首次进入的时候执行的方法

跳转到另一个Activity时

返回到当前Activity时
可见当执行onResume和onPause时,onWindowFocusChanged都会被调用。

 @Override public void onWindowFocusChanged(boolean hasFocus) {   super.onWindowFocusChanged(hasFocus);   if (hasFocus) {     //获得宽度     int width = view.getMeasuredWidth();     //获得高度     int height = view.getMeasuredHeight();   } }

--结束END--

本文标题: Android 获得View宽高的几种方式总结

本文链接: https://lsjlt.com/news/222622.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作