前言
原创文章,欢迎转载,请保留出处。
有任何错误、疑问或者建议,欢迎指出。
我的邮箱:Maxwell_nc@163.com
Android下View必须实现onMeasure
,onLayout
(ViewGroup实现),onDraw
(View实现,ViewGroup调用子View的onDraw)三个方法,要动态获取View的高度(或宽度)就必须要理解这三个方法的调用的时间。
两个方法的使用
以高度为例,动态获取View的高度有两个比较方便的方法getHeight()和getMeasuredHeight(),下面说说两种方法的使用条件和注意事项:
getHeight() 方法
这个方法必须要在View调用了onLayout方法后才能获得,为了监听onLayout方法,可以获得ViewTree观察者上的监听器来实现,具体代码为:
view.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener(){
@override
public void