版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lg491733638/article/details/53317646
getHeight()和getMeasuredHeight()的区别,getWidth()和getMeasuredWidth()相同
getHeight():必须在onlayout方法执行完后,才能获得高度;
headerView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { // TODO Auto-generated method stub headerHeight=headerView.getMeasuredHeight()Height(); headerView.setPadding(0, -headerHeight, 0, 0); ref_listview.addHeaderView(headerView);//添加headerView必须在setAdapter之前 } });
getMeasuredHeight():获取测量完的高度,只要在onMeasure方法执行完,就可以用它获取到高度,在自定义控件内部多使用这个方法,使用view.measure(0,0)方法可以主动通知系统测量,然后就可以直接使用它获取宽高