android开发之view宽和高的获取

作者: zzj丶 | 来源:发表于2016-11-11 13:15 被阅读72次

在最近项目中,想要获取view控件的大小,通过view.getHeight和view.getWidth,怎么获取都是null。

  如何在绘制组件之前能获取到该组件的尺寸大小呢?

一、

/** 
* 获取的控件的高宽
 * @param view 
*/
        ViewTreeObserver vto = view.getViewTreeObserver();   
                vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {     
             @Override      
              public void onGlobalLayout() {        
                      view.getViewTreeObserver().removeGlobalOnLayoutListener(this);        
                              view.getHeight();         
                              view.getWidth();   
   }  
 });

二、

/** * 获取控件的高 
* @param view 
* @return    
*/
public static int getViewHeight(View view){   view.measure(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT); 
        view.getMeasuredHeight();//高度  
        view.getMeasuredWidth();//宽度   
        return view.getMeasuredHeight();}

此方法可在activity中通过返回值获取。

相关文章

网友评论

    本文标题:android开发之view宽和高的获取

    本文链接:https://www.haomeiwen.com/subject/xdnzuttx.html