Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中oncreate中如何獲得控件高度或寬度?

Android中oncreate中如何獲得控件高度或寬度?

編輯:關於Android編程

onCreate函數只是提供了數據初始化的機會,此時還沒有正式繪制圖形。在圖形尚未渲染的情況下,getWidth()或getHeight()得到的值為0。如果需要自適應屏幕,需要一進入界面就得到父控件大小,然後需要在onCreate中動態設置子控件大小。

 


方法1:利用ViewTreeObserver類的addOnPreDrawListener接口。(好)ViewTreeObserver vto = hscrollview.getViewTreeObserver();

                   vto.addOnPreDrawListener(newViewTreeObserver.OnPreDrawListener() {

                            @Override

                            publicboolean onPreDraw() {

                                     if(hasMeasured == false){

                                               intwid = hscrollview.getWidth();

                                               inthei = hscrollview.getHeight();

                                               if(wid != 0 && hei != 0){

                                                        hasMeasured= true;

                                               }

                                     }

                                     returntrue;

                            }

                   });

 

方法2:利用ViewTreeObserver類的addOnGlobalLayoutListener接口。(好)

和方法1類似。

 

方法3:postDelayed延遲一定時候後獲得控件大小再設置。(不太好)

 


 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved