本文实例讲述了Android编程获取组件尺寸大小的方法。分享给大家供大家参考,具体如下:

在oncreate()中利用view.getWidth()或是view.getHeiht()来获取view的宽和高,看似没有问题,其实他们去得值是0,并不是你想要的结果?
这是为什么呢?
在调用oncreate()方法时,界面处于不可见状态,内存加载组件还没有绘制出来,你是无法获取他的尺寸。
那如何在绘制组件之前能获取到该组件的尺寸大小呢?
这里有三种方法,经过验证的:
方法一 :
//测量方法 int width =View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); int height =View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); view.measure(width,height); int height=view.getMeasuredHeight(); int width=view.getMeasuredWidth();
方法二 :
//增加组件绘制之前的监听
ViewTreeObserver vto =view.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override public ooleanonPreDraw() {
int height =view.getMeasuredHeight();
int width =view.getMeasuredWidth();
}
});
方法三 :
//增加整体布局监听
ViewTreeObserver vto = view.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener(){
@Override public voidonGlobalLayout() {
view.getViewTreeObserver().removeGlobalOnLayoutListener(this);
int height =view.getMeasuredHeight();
int width =view.getMeasuredWidth();
}
});
那么,在activity进入运行期时,组件的尺寸获取方法就很简单了,直接getWidth()和getHeight().
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
# Android
# 获取
# 组件
# 尺寸大小
# Android开发之WebView组件的使用解析
# android开发教程之view组件添加边框示例
# Android组件间通信--深入理解Intent与IntentFilter
# Android应用程序四大组件之使用AIDL如何实现跨进程调用Service
# android WebView组件使用总结
# android使用include调用内部组件的方法
# Android四大组件之Service(服务)实例详解
# Android实现动态切换组件背景的方法
# Android开发之时间日期组件用法实例
# 深入理解Android组件间通信机制对面向对象特性的影响详解
# Android开发四大组件之实现电话拦截和电话录音
# 进阶
# 这是
# 还没有
# 你是
# 相关内容
# 感兴趣
# 给大家
# 很简单
# 什么呢
# 更多关于
# 解决方法
# 所述
# 程序设计
# 你想要
# 有三种
# 到该
# 去得
# 加载
# 测量方法
# 讲述了
相关文章:
建站之星备案是否影响网站上线时间?
常州自助建站工具推荐:低成本搭建与模板选择技巧
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
如何快速生成凡客建站的专业级图册?
如何零基础开发自助建站系统?完整教程解析
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
如何快速上传建站程序避免常见错误?
微课制作网站有哪些,微课网怎么进?
个人摄影网站制作流程,摄影爱好者都去什么网站?
如何通过多用户协作模板快速搭建高效企业网站?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
高防服务器租用指南:配置选择与快速部署攻略
建站之星如何取消后台验证码生成?
如何获取免费开源的自助建站系统源码?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
制作网站的软件免费下载,免费制作app哪个平台好?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
如何在阿里云ECS服务器部署织梦CMS网站?
高防服务器如何保障网站安全无虞?
网站制作模板下载什么软件,ppt模板免费下载网站?
怎么将XML数据可视化 D3.js加载XML
如何快速启动建站代理加盟业务?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
建站之星如何快速更换网站模板?
如何在阿里云香港服务器快速搭建网站?
如何登录建站主机?访问步骤全解析
制作网页的网站有哪些,电脑上怎么做网页?
建站之星各版本价格是多少?
如何在Ubuntu系统下快速搭建WordPress个人网站?
如何使用Golang table-driven基准测试_多组数据测量函数效率
大学网站设计制作软件有哪些,如何将网站制作成自己app?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
如何在景安云服务器上绑定域名并配置虚拟主机?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
如何高效搭建专业期货交易平台网站?
如何通过山东自助建站平台快速注册域名?
上海网站制作开发公司,上海买房比较好的网站有哪些?
想学网站制作怎么学,建立一个网站要花费多少?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
网页设计与网站制作内容,怎样注册网站?
Swift中switch语句区间和元组模式匹配
如何打造高效商业网站?建站目的决定转化率
高端智能建站公司优选:品牌定制与SEO优化一站式服务
如何生成腾讯云建站专用兑换码?
*请认真填写需求信息,我们会在24小时内与您取得联系。