View在屬性為wrap_content/match_parent時獲取寬高不準確的解決辦法
阿新 • • 發佈:2019-01-26
View 或ViewGroup在建立時設定寬度高度為match_parent或者wrap_content時,通過getWidth()、getHeight()或者getMeasuredWidth()、getMeasuredHeight()不能獲取到真實的寬高.
正確的方法獲取高度的方法是建立之後呼叫measure方法對View進行測量,然後獲取寬度與高度!
示例:
LinearLayout ll_login_container = (LinearLayout) rootView.findViewById(R.id.ll_login_container);
ll_login_container.measure (View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
int height = ll_login_container.getMeasuredHeight();
int width = ll_login_container.getMeasuredWidth();
其他如PopupWindow,彈框等也是類似,獲取width/height之前需要先measure!