Android 计算view 的高度

   上午在做一个QuickAction里嵌套一个ListView,在Demo运行没事,结果引入到我的项目里,发现我先让它在Button上面,结果是无视那个Button的高度,这很明显,就是那个Button的高度计算不正确。

   

   看了下别人的建议,大概分为三类:

 参数设置:

 

mRootView.measure(0, 0);

 在draw之前回调:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ViewTreeObserver vto =view.getViewTreeObserver();
 
        vto.addOnPreDrawListener(new   ViewTreeObserver.OnPreDrawListener() {
 
           @Override
           public   boolean onPreDraw() {
 
               int  height =view.getMeasuredHeight();
 
               int  width =view.getMeasuredWidth();    
 
           }
 
         
        });

  

全部监听:

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//增加整体布局监听
 
ViewTreeObserver
 vto = view.getViewTreeObserver(); 
 
vto.addOnGlobalLayoutListener(new
 
OnGlobalLayoutListener(){
 
    @Override
 
    public
 
voidonGlobalLayout() {
 
      view.getViewTreeObserver().removeGlobalOnLayoutListener(this);    
 
    int
 
height =view.getMeasuredHeight();
 
     int
 
width =view.getMeasuredWidth(); 
 
    }
 
});

  

 

 

 

 

 

 

Android 计算view 的高度,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。