Android开发Android技术知识安卓资源收集

android开发之view宽和高的获取

2016-11-11  本文已影响72人  zzj丶

在最近项目中,想要获取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中通过返回值获取。

上一篇 下一篇

猜你喜欢

热点阅读