本文实例讲述了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开发四大组件之实现电话拦截和电话录音
# 进阶
# 这是
# 还没有
# 你是
# 相关内容
# 感兴趣
# 给大家
# 很简单
# 什么呢
# 更多关于
# 解决方法
# 所述
# 程序设计
# 你想要
# 有三种
# 到该
# 去得
# 加载
# 测量方法
# 讲述了
相关文章:
如何用5美元大硬盘VPS安全高效搭建个人网站?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
如何高效利用200m空间完成建站?
C++如何使用std::optional?(处理可选值)
如何在建站宝盒中设置产品搜索功能?
如何选择靠谱的建站公司加盟品牌?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
建站之星展会模板:智能建站与自助搭建高效解决方案
XML的“混合内容”是什么 怎么用DTD或XSD定义
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
网站制作壁纸教程视频,电脑壁纸网站?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
定制建站策划方案_专业建站与网站建设方案一站式指南
如何选购建站域名与空间?自助平台全解析
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
表情包在线制作网站免费,表情包怎么弄?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
网站设计制作企业有哪些,抖音官网主页怎么设置?
ppt制作免费网站有哪些,ppt模板免费下载网站?
教程网站设计制作软件,怎么创建自己的一个网站?
兔展官网 在线制作,怎样制作微信请帖?
平台云上自主建站:模板化设计与智能工具打造高效网站
设计网站制作公司有哪些,制作网页教程?
如何在香港服务器上快速搭建免备案网站?
如何配置支付宝与微信支付功能?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
制作旅游网站html,怎样注册旅游网站?
定制建站哪家更专业可靠?推荐榜单揭晓
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
盐城做公司网站,江苏电子版退休证办理流程?
建站之星Pro快速搭建教程:模板选择与功能配置指南
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
无锡营销型网站制作公司,无锡网选车牌流程?
广州美橙建站如何快速搭建多端合一网站?
重庆市网站制作公司,重庆招聘网站哪个好?
如何正确选择百度移动适配建站域名?
微信小程序 五星评分(包括半颗星评分)实例代码
清除minerd进程的简单方法
怎么将XML数据可视化 D3.js加载XML
成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
如何在万网自助建站中设置域名及备案?
建站之星后台管理系统如何操作?
h5网站制作工具有哪些,h5页面制作工具有哪些?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
如何选择服务器才能高效搭建专属网站?
临沂网站制作公司有哪些,临沂第四中学官网?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
*请认真填写需求信息,我们会在24小时内与您取得联系。