全网整合营销服务商

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

免费咨询热线: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开发四大组件之实现电话拦截和电话录音  # 进阶  # 这是  # 还没有  # 你是  # 相关内容  # 感兴趣  # 给大家  # 很简单  # 什么呢  # 更多关于  # 解决方法  # 所述  # 程序设计  # 你想要  # 有三种  # 到该  # 去得  # 加载  # 测量方法  # 讲述了 


相关文章: 建站之星备案是否影响网站上线时间?  常州自助建站工具推荐:低成本搭建与模板选择技巧  制作网站哪家好,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小时内与您取得联系。