Android中oncreate中获得控件高度或宽度的实现方法

发布时间 - 2026-01-11 03:10:57    点击率:

Android中oncreate中获得控件高度或宽度的实现方法

onCreate函数只是提供了数据初始化的机会,此时还没有正式绘制图形。在图形尚未渲染的情况下,getWidth()或getHeight()得到的值为0。如果需要自适应屏幕,需要一进入界面就得到父控件大小,然后需要在onCreate中动态设置子控件大小。

 方法1:

利用ViewTreeObserver类的addOnPreDrawListener接口。

ViewTreeObserver vto = hscrollview.getViewTreeObserver(); 
 
          vto.addOnPreDrawListener(newViewTreeObserver.OnPreDrawListener() { 
 
              @Override 
 
              publicboolean onPreDraw() { 
 
                   if(hasMeasured == false){ 
 
                        intwid = hscrollview.getWidth(); 
 
                        inthei = hscrollview.getHeight(); 
 
                        if(wid != 0 && hei != 0){ 
 
                            hasMeasured= true; 
 
                        } 
 
                   } 
 
                   returntrue; 
 
              } 
 
          }); 

方法2:

利用ViewTreeObserver类的addOnGlobalLayoutListener接口。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android中oncreate获取控件  # Android中oncreate获取控件的高度实现实例  # Android onCreateOptionsMenu的使用方法总结  # Android编程实现两个Activity相互切换而不使用onCreate()的方法  # Android OnCreate()中获取控件高度与宽度两种方法详解  # Android使用onCreateOptionsMenu()创建菜单Menu的方法详解  # Android onCreate( )方法详细介绍  # Android 解决嵌套Fragment无法接收onCreateOptionsMenu事件的问题  # Android在OnCreate中获取控件的宽度和高度的实现代码  # 还没有  # 如有  # 希望能  # 谢谢大家  # 值为  # 自适应  # 疑问请  # 情况下  # ViewTreeObserver  # pre  # addOnPreDrawListener  # class  # brush  # java  # nbsp  # oncreate  # Android  # strong  # getHeight  # getWidth 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现事件和监听器?(Event & Listener实战)  详解阿里云nginx服务器多站点的配置  Laravel定时任务怎么设置_Laravel Crontab调度器配置  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  太平洋网站制作公司,网络用语太平洋是什么意思?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  JavaScript模板引擎Template.js使用详解  如何快速查询网站的真实建站时间?  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  大连网站制作公司哪家好一点,大连买房网站哪个好?  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  Laravel如何为API生成Swagger或OpenAPI文档  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  原生JS获取元素集合的子元素宽度实例  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  香港服务器WordPress建站指南:SEO优化与高效部署策略  Android自定义listview布局实现上拉加载下拉刷新功能  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何用搬瓦工VPS快速搭建个人网站?  轻松掌握MySQL函数中的last_insert_id()  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  linux写shell需要注意的问题(必看)  详解jQuery中的事件  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  php 三元运算符实例详细介绍  🚀拖拽式CMS建站能否实现高效与个性化并存?  如何彻底卸载建站之星软件?  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  iOS发送验证码倒计时应用  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  如何在云主机快速搭建网站站点?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  中山网站推广排名,中山信息港登录入口?  *服务器网站为何频现安全漏洞?  如何用低价快速搭建高质量网站?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  如何将凡科建站内容保存为本地文件?  WEB开发之注册页面验证码倒计时代码的实现  三星网站视频制作教程下载,三星w23网页如何全屏?  Laravel怎么实现验证码(Captcha)功能  教你用AI润色文章,让你的文字表达更专业  Laravel如何使用.env文件管理环境变量?(最佳实践)