《Android開發(fā)藝術(shù)探索》筆記:
創(chuàng)新互聯(lián)科技有限公司專業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供中國電信成都樞紐中心,高防主機,成都IDC機房托管,成都主機托管等互聯(lián)網(wǎng)服務(wù)。在Activity的onCreate()或者onResume()中去獲得View的高度的時候不能正確獲得寬度和高度信息,這是因為 View的measure過程和Activity的生命周期不是同步執(zhí)行的,因此無法保證Activity執(zhí)行了onCreate onStart onResume時,某個View已經(jīng)測量完畢了,如果還沒有測量完,那么獲得的寬高就是0??梢酝ㄟ^下面幾種方式來獲得:
1、onWindowFocusChanged
onWindowFocusChanged:View已經(jīng)初始化完畢,寬高已經(jīng)有了,需要注意onWindowFocusChanged會被調(diào)用多次,Activity得到焦點和失去焦點都會執(zhí)行這個回調(diào),見下圖:
1、Activity首次進入的時候執(zhí)行的方法
2、跳轉(zhuǎn)到另一個Activity時
3、返回到當(dāng)前Activity時
可見當(dāng)執(zhí)行onResume和onPause時,onWindowFocusChanged都會被調(diào)用。
@Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { //獲得寬度 int width = view.getMeasuredWidth(); //獲得高度 int height = view.getMeasuredHeight(); } }
分享標(biāo)題:Android獲得View寬高的幾種方式總結(jié)-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://aaarwkj.com/article14/dpgode.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、全網(wǎng)營銷推廣、微信公眾號、移動網(wǎng)站建設(shè)、外貿(mào)建站、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容