本文主要是介绍Android中oncreate中如何获得控件高度或宽度?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
onCreate函数只是提供了数据初始化的机会,此时还没有正式绘制图形。在图形尚未渲染的情况下,getWidth()或getHeight()得到的值为0。如果需要自适应屏幕,需要一进入界面就得到父控件大小,然后需要在onCreate中动态设置子控件大小。
方法1:利用ViewTreeObserver类的addOnPreDrawListener接口。(好)
ViewTreeObserver vto = hscrollview.getViewTreeObserver();vto.addOnPreDrawListener(newViewTreeObserver.OnPreDrawListener() {@Overridepublicboolean onPreDraw() {if(hasMeasured == false){intwid = hscrollview.getWidth();inthei = hscrollview.getHeight();if(wid != 0 && hei != 0){hasMeasured= true;}}returntrue;}});
方法2:利用ViewTreeObserver类的addOnGlobalLayoutListener接口。(好)
这篇关于Android中oncreate中如何获得控件高度或宽度?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!