zoukankan      html  css  js  c++  java
  • Android 计算view 的高度

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

       

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

     参数设置:

    mRootView.measure(0, 0);
    

     在draw之前回调:

    ViewTreeObserver vto =view.getViewTreeObserver(); 
    
    		vto.addOnPreDrawListener(new   ViewTreeObserver.OnPreDrawListener() { 
    
    		   @Override
    		   public	boolean onPreDraw() { 
    
    		       int	height =view.getMeasuredHeight(); 
    
    		       int	width =view.getMeasuredWidth();     
    
    		   }
    
    		
    		});
    

      

    全部监听:

    //增加整体布局监听
    
    ViewTreeObserver
     vto = view.getViewTreeObserver();  
    
    vto.addOnGlobalLayoutListener(new
    
    OnGlobalLayoutListener(){ 
    
        @Override 
    
        public
    
    voidonGlobalLayout() { 
    
          view.getViewTreeObserver().removeGlobalOnLayoutListener(this);     
    
        int
    
    height =view.getMeasuredHeight(); 
    
         int
    
    width =view.getMeasuredWidth();  
    
        } 
    
    });
    

      

  • 相关阅读:
    叶问14
    叶问13
    叶问12
    叶问11
    叶问10
    叶问9
    Java三种循环之间的区别
    利用Java对象数组制作简易学生管理系统
    什么叫java方法重载?
    Java编译器的常量优化
  • 原文地址:https://www.cnblogs.com/Cyning/p/3767665.html
Copyright © 2011-2022 走看看