Android OnCreate()中获取控件高度与宽度两种方法详解
AndroidOnCreate()中获取控件高度与宽度
试过在OnCreate()中获取控件高度与宽度的童鞋都知道,getWidth()与getHeight()方法返回是0,具体原因看一下Activity的生命周期就会明白。
上代码:
方法一:
intw=View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); inth=View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); ssidtext.measure(w,h); intwidth=ssidtext.getMeasuredWidth(); intheight=ssidtext.getMeasuredHeight();
方法二:
ViewTreeObservervto=ssidtext.getViewTreeObserver(); vto.addOnPreDrawListener(newViewTreeObserver.OnPreDrawListener(){ publicbooleanonPreDraw(){ intheight=ssidtext.getMeasuredHeight(); intwidth=ssidtext.getMeasuredWidth(); returntrue; } });
具体用哪一种可以根据需求自己选择。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!