全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android编程获取组件尺寸大小的方法

本文实例讲述了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小时内与您取得联系。