Android中getWidth和getMeasuredWidth的區別

來源:互聯網
上載者:User

今天看SDK, 看到這個東西不是很懂, google了一會有些許收穫. 以下是我的理解.

getWidth得到是某個view的實際尺寸.

getMeasuredWidth是得到某view想要在parent view裡面占的大小.


那用法呢?

  1. getWidth在OnCreat的時候得到的是0..很奇怪, 我找到了原因: 當一個view對象建立時,android並不知道其大小,所以getWidth()和   getHeight()返回的結果是0,真正大小是在計算布局時才會計算,所以會發現一個有趣的事,即在onDraw( ) 卻能取得長寬的原因。           那怎麼在onCreat  的時候得到呢?  

width = activity.getWindowManager().getDefaultDisplay().getWidth();  
height = activity.getWindowManager().getDefaultDisplay().getHeight();


        2.  getMeasuredWidth必須在parent view或者它自己調用measure()函數之後才能得到. measure函數就是計算該函數需要佔用的空間大             小.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.