android開發(fā)之view寬和高的獲取

在最近項目中,想要獲取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中通過返回值獲取。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容