<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      安卓筆記俠

      專注安卓開發

      導航

      getWidth()和getMeasuredWidth()的區別

      結論:getMeasuredWidth()獲取的是view原始的大小,也就是這個view在XML文件中配置或者是代碼中設置的大小。getWidth()獲取的是這個view最終顯示的大小,這個大小有可能等于原始的大小也有可能不等于原始大小。

      1.getMeasuredWidth

        從源碼上來看,getMeasuredWidth()獲取的是mMeasuredWidth的這個值。這個值是一個8位的十六進制的數字,高兩位表示的是這個measure階段的Mode的值,具體可以查看MeasureSpec的原理。這里mMeasuredWidth & MEASURED_SIZE_MASK表示的是測量階段結束之后,view真實的值。而且這個值會在調用了setMeasuredDimensionRaw()函數之后會被設置。所以getMeasuredWidth()的值是measure階段結束之后得到的view的原始的值。

       

      2.getWidth()

      那么問題來了,mRight和mLeft是什么值,是在什么時候被設置的。我們再看layout階段的源碼:

        在layout階段會去調用setOpticalFrame()或者調用setFrame()方法,從源碼中可知setOpticalFrame()方法,最終還是調用的setFrame()方法。

      所以最終的mLeft和mRight的值是在setFrame()方法中被設置的。而且這些mLeft,mRight代表了view最終顯示在界面中的大小。

       

      3.下面我們自定義一個簡單的ViewGroup,在layout階段改變left,right的值,觀察getMeasuredWidth()和getWidth()方法之間的區別。

      在這個demo中,我們給textview設置寬度為100px,但是在layout階段給它加大到200,最終結果是:點擊width按鈕,顯示為200,點解measuredWidth按鈕顯示為100.

       

       

      posted on 2018-04-20 20:35  安卓筆記俠  閱讀(598)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 欧美一本大道香蕉综合视频| 好紧好湿好黄的视频| 男女激情一区二区三区| 欧美性猛交xxxx免费看| 国产精品九九久久精品女同| 秋霞电影院午夜无码免费视频| 风韵丰满妇啪啪区老老熟女杏吧| 久久综合亚洲鲁鲁九月天| 亚洲不卡一区二区在线看| 国产免费无遮挡吸乳视频在线观看 | 亚洲精品国产一二三区| 国产在线视频精品视频| 动漫AV纯肉无码AV电影网| 又黄又刺激又黄又舒服| 欧美人成精品网站播放| 国产精品揄拍一区二区久久| 亚洲精品久综合蜜| 亚洲AV无码东方伊甸园| 熟女激情乱亚洲国产一区| 亚洲一区精品伊人久久| 国内少妇偷人精品免费| 最新中文字幕av无码专区不 | 国产精品疯狂输出jk草莓视频| 国产精品亚洲а∨天堂2021| 在线看片免费人成视久网| 樱花草在线社区www| 丰满无码人妻热妇无码区| 午夜大尺度福利视频一区| 丰满的女邻居2| 色欲AV无码一区二区人妻| 免费一区二三区三区蜜桃| 啦啦啦高清在线观看视频www | 精品国产粉嫩内射白浆内射双马尾| 亚洲成熟女人av在线观看| 成人看的污污超级黄网站免费| 国语精品一区二区三区| 日韩精品中文字一区二区| 色婷婷日日躁夜夜躁| 日本熟妇大乳| 国产激情一区二区三区不卡| aaa少妇高潮大片免费看|