Android View中getWidth方法

這是一個讓我生氣的方法,遇到這個方法的時候,最開始爲了省事,就去網上搜了下

不少答案說,只有在onDraw中調用這個方法纔可以得到這個View正確的大小,之前的方法只能得到0

我想了想不對啊,onMeasure不是測量View大小的麼,它應該可以得到正確的值,用Log試了下

結果如圖:


onMeasure最後還是可以得到正確值的,因爲這個方法會被調用多次,所以在這裏調用getWidth方法不穩定


但是網上說不能,不是侮辱我的眼睛麼 !!


俗話說紙上得來終覺淺,欲知此事需躬行,以後網上只信一半。


接着說getWidth方法,API源碼:


需要注意的是,這個方法返回的是View所佔的px(虛擬像素)值


那我們該在哪裏去調用這個getWidth方法呢,答案是onSizeChanged方法,它在onMeasure確定width之後之後纔去調用


那如果我們一定要在onMeasure中獲得View 的width,可以用getMeasureWidth方法


有問題請留言。。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章