謹慎去獲取控制元件的高和寬,以防帶來不必要的效能問題
阿新 • • 發佈:2019-01-23
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; } });
我們知道常見兩種去獲取控制元件高和寬的方法,但其實我這裡要說的是在沒有絕對必要的情況下,最好不要做這件事情。如果能夠繞開,就儘量繞開,因為上面兩種方法都會給我們的UI介面帶來效能問題。