本篇文章给大家分享的是有关Android中怎么利用oncreate获取控件高度或宽度,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
Android中oncreate中获得控件高度或宽度的实现方法
onCreate函数只是提供了数据初始化的机会,此时还没有正式绘制图形。在图形尚未渲染的情况下,getWidth()或getHeight()得到的值为0。如果需要自适应屏幕,需要一进入界面就得到父控件大小,然后需要在onCreate中动态设置子控件大小。
方法1:
利用ViewTreeObserver类的addOnPreDrawListener接口。
ViewTreeObserver vto = hscrollview.getViewTreeObserver(); vto.addOnPreDrawListener(newViewTreeObserver.OnPreDrawListener() { @Override publicboolean onPreDraw() { if(hasMeasured == false){ intwid = hscrollview.getWidth(); inthei = hscrollview.getHeight(); if(wid != 0 && hei != 0){ hasMeasured= true; } } returntrue; } });
方法2:
利用ViewTreeObserver类的addOnGlobalLayoutListener接口。
以上就是Android中怎么利用oncreate获取控件高度或宽度,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。