Android OnCreate()中获取控件高度与宽度两种方法详解

作者:尼古拉斯_赵四 时间:2022-08-03 15:09:40 

Android OnCreate()中获取控件高度与宽度

试过在OnCreate()中获取控件高度与宽度的童鞋都知道,getWidth()与getHeight()方法返回是0,具体原因 看一下Activity的生命周期 就会明白。

上代码:

方法一:



int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
   int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
   ssidtext.measure(w, h);
   int width =ssidtext.getMeasuredWidth();
   int height =ssidtext.getMeasuredHeight();

方法二:


   ViewTreeObserver vto = ssidtext.getViewTreeObserver();
   vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
     public boolean onPreDraw() {
       int height = ssidtext.getMeasuredHeight();
       int width = ssidtext.getMeasuredWidth();
       return true;
     }
   });

 具体用哪一种可以根据需求自己选择。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

来源:http://blog.csdn.net/jiangwei0910410003/article/details/16979765

标签:Android,OnCreate(),获取控件,高度,宽度
0
投稿

猜你喜欢

  • Logger.getLogger()与LogFactory.getLog()的区别详解

    2021-11-04 19:16:00
  • Java8 Optional优雅空值判断的示例代码

    2021-09-20 09:16:26
  • SpringBoot项目读取外置logback配置文件的问题及解决

    2023-06-06 10:50:22
  • 分析SpringBoot的启动原理

    2021-10-30 16:01:23
  • 解决SpringBoot webSocket 资源无法加载、tomcat启动报错的问题

    2021-07-28 05:06:42
  • Java模拟多线程实现抢票代码实例

    2022-11-17 07:41:51
  • 基于java中的流程控制语句总结(必看篇)

    2023-11-08 09:56:59
  • Linux系统下安装和卸载JDK8的方式

    2023-08-01 15:29:45
  • 如何用C#创建用户自定义异常浅析

    2023-06-10 20:06:16
  • Java案例使用比较排序器comparator实现成绩排序

    2023-10-16 01:37:24
  • Mybatis Select Count(*)的返回值类型介绍

    2022-06-17 12:51:19
  • SpringBoot应用部署于外置Tomcat容器的方法

    2021-07-19 18:36:34
  • Spring Bean创建流程分析讲解

    2022-04-20 22:53:07
  • C#实现图像锐化的方法

    2023-07-23 01:08:21
  • Java调用windows系统的CMD命令并启动新程序

    2021-11-27 17:09:13
  • 学习Winform文本类控件(Label、Button、TextBox)

    2022-12-29 09:00:48
  • SpringBoot中属性赋值操作的实现

    2022-05-04 18:10:30
  • 获取Android手机中所有短信的实现代码

    2023-08-04 16:55:30
  • 新手Hadoop安装 环境搭建

    2022-12-15 05:34:02
  • RocketMQ源码解析topic创建机制详解

    2023-03-16 01:06:23
  • asp之家 软件编程 m.aspxhome.com