有時我們會有基於這樣的需求,當Activity創建時,需要獲取某個View的寬高,然后進行相應的操作,但是我們在onCreate,onStart中獲取View的大小,獲取到的值都是0,只是由於View的繪制工程還未完成,和在onCreate中彈出Dialog或者PopupWindow會報一個 ...
相信有很多朋友都有過在 Activity 中通過 getWidth 之類的方法獲取 View 的寬高值,可能在 onCreate 生命周期方法中,也可能在 onResume 生命周期方法中。然而,不幸的是,並不能獲取所要的結果,寬高值均為 。 如果對 View 的繪制顯示流程熟悉的話,就會知道問題所在。我們知道,在自定義 View 時,通常都要重寫 onMeasure onLayout onDr ...
2020-06-05 14:26 0 663 推薦指數:
有時我們會有基於這樣的需求,當Activity創建時,需要獲取某個View的寬高,然后進行相應的操作,但是我們在onCreate,onStart中獲取View的大小,獲取到的值都是0,只是由於View的繪制工程還未完成,和在onCreate中彈出Dialog或者PopupWindow會報一個 ...
在onCreate方法中我們通過mView.getWidth()和mView.getHeight()獲取到的view的寬高都是0,那么下面幾種方法就可以在onCreate方法中獲取到view的寬高。 1、 2、mViewTreeObserver ...
在onCreate方法中我們通過mView.getWidth()和mView.getHeight()獲取到的view的寬高都是0,那么下面幾種方法就可以在onCreate方法中獲取到view的寬高。 1、 2、mViewTreeObserver ...
獲取屏幕寬高 獲取控件的寬高,一般來說,我們在onCreate里面得到的控件的寬高全是0.采用下面的方法,可以得到真實的寬高 此方法會加載onMeasure二次,但是回調函數只回調一次 ...
1.獲取屏幕寬高 方法1: int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕寬(像素,如:480px) int screenHeight = getWindowManager ...
...
等onCreate方法執行完了,我們定義的控件才會被度量(measure),所以我們在onCreate方法里面通過view.getHeight()獲取控件的高度或者寬度肯定是0解決方案:1, 2, 注冊一個ViewTreeObserver ...