当前位置: 首页 > news >正文

如何在onCreate中获取View的高度和宽度

如何在onCreate中获取View的高度和宽度

原文链接:http://mp.weixin.qq.com/s?__biz=MzAwODE1NTI2MQ==&mid=2247483676&idx=1&sn=0ddc1a4dd1decb1749402f70ba340739&chksm=9b72780eac05f118d7a304010b82b63275b1feda82647a19ae3f63672002472315a4ddebaef7#rd

在开发过程中经常需要获取到View的宽和高,可以通过View.getWidth()和View.getHeight()来得到宽高。然而新手们经常在onCreate方法中直接调用上面两个方法得到的值是0!

这是为什么呢?

因为View绘制是通过两个遍历来完成的,一个measure过程,一个layout过程。只有经过“测量”和“布局”之后,View才能正确地完成绘制。而这一切是发生在onCreate方法之后的。所以在onCreate中直接使用View.getWidth()和View.getHeight()是无法得到正确的值的。

那应该怎么onCreate中获取View的宽高呢?

开发者可以通过View.post()方法来获取到View的宽高,该方法传递一个Runnable参数,然后将其添加到消息队列中,最后在UI线程中执行。

protected void onCreate(@Nullable Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    view.post(new Runnable(){

        public void run(){

            //在这里使用View.getWidth()和View.getHeight()方法可以得到正确的值

            Log.d(TAG,"view.width="+view.getWidth()+",view.height="+view.getHeight());

        }

    });

}

相关文章:

  • Orchard模块开发全接触6:自定义用户注册
  • webservice通过soap协议出现不能加载wsdl文件解决办法
  • Web 研发模式演变 | 搞懂历史
  • 总结常见的网站攻击方式
  • 《跟我学Shiro》系列教程PDF完结版下载
  • linux下怎么用tree命令以树形结构显示文件目录结构?
  • Qt中将float转换成unsigned short类型
  • iOS 2D绘图详解(Quartz 2D)之路径(stroke,fill,clip,subpath,blend)
  • 炉石传说 C# 开发笔记(BS上线尝试)
  • JAVA移动支付微信和支付宝后台代码
  • delphi xe6中如何调用stringtojstring
  • Lua中调用C函数
  • EqualsBuilder和HashCodeBuilder
  • Flash CS 6绘图技巧之锁定填充
  • Rad Studio 10.1 UP1 移动开发 关于编译ANDROID版本
  • Git初体验
  • Git学习与使用心得(1)—— 初始化
  • IndexedDB
  • mysql 数据库四种事务隔离级别
  • php ci框架整合银盛支付
  • Protobuf3语言指南
  • redis学习笔记(三):列表、集合、有序集合
  • SQLServer之索引简介
  • text-decoration与color属性
  • Travix是如何部署应用程序到Kubernetes上的
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • web标准化(下)
  • 阿里云购买磁盘后挂载
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 构建工具 - 收藏集 - 掘金
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 记录一下第一次使用npm
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 一起参Ember.js讨论、问答社区。
  • 最近的计划
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 7行Python代码的人脸识别
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • #QT(串口助手-界面)
  • #stm32整理(一)flash读写
  • #每日一题合集#牛客JZ23-JZ33
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (ibm)Java 语言的 XPath API
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (译)2019年前端性能优化清单 — 下篇
  • (转)德国人的记事本
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .net专家(张羿专栏)
  • [.NET]桃源网络硬盘 v7.4