麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Android > 正文

解析:繼承ViewGroup后的子類如何重寫onMeasure方法

2020-04-11 12:11:32
字體:
來源:轉載
供稿:網友
1.首先貼上我試驗成功的代碼
復制代碼 代碼如下:

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

         int measureWidth = MeasureSpec.getSize(widthMeasureSpec);
         int measureHeigth = MeasureSpec.getSize(heightMeasureSpec);
         setMeasuredDimension(measureWidth, measureHeigth);
         // TODO Auto-generated method stub
         for(int i= 0;i<getChildCount();i++){
             View v = getChildAt(i);
             Log.v(TAG, "measureWidth is " +v.getMeasuredWidth() + "measureHeight is "+v.getMeasuredHeight());
             int widthSpec = 0;
             int heightSpec = 0;
             LayoutParams params = v.getLayoutParams();
             if(params.width > 0){
                 widthSpec = MeasureSpec.makeMeasureSpec(params.width, MeasureSpec.EXACTLY);
             }else if (params.width == -1) {
                 widthSpec = MeasureSpec.makeMeasureSpec(measureWidth, MeasureSpec.EXACTLY);
             } else if (params.width == -2) {
                 widthSpec = MeasureSpec.makeMeasureSpec(measureWidth, MeasureSpec.AT_MOST);
             }

             if(params.height > 0){
                 heightSpec = MeasureSpec.makeMeasureSpec(params.height, MeasureSpec.EXACTLY);
             }else if (params.height == -1) {
                 heightSpec = MeasureSpec.makeMeasureSpec(measureHeigth, MeasureSpec.EXACTLY);
             } else if (params.height == -2) {
                 heightSpec = MeasureSpec.makeMeasureSpec(measureWidth, MeasureSpec.AT_MOST);
             }
             v.measure(widthSpec, heightSpec);

         }
     }

解釋一下:
首先判斷params.width的值是多少,有三種情況。
如果是大于零的話,及傳遞的就是一個具體的值,那么,構造MeasupreSpec的時候可以直接用EXACTLY。
如果為-1的話,就是MatchParent的情況,那么,獲得父View的寬度,再用EXACTLY來構造MeasureSpec。
如果為-2的話,就是wrapContent的情況,那么,構造MeasureSpec的話直接用一個負數就可以了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: xxx日本视频 | 日韩专区在线 | 亚洲资源在线播放 | 久久精品欧美一区 | 免费一区区三区四区 | 一区二区三区欧美在线观看 | 毛片免费观看视频 | 久久精品视频12 | 成人午夜免费看 | 免费激情网址 | 亚洲精品xxx | 国产精品一区在线免费观看 | www.91操| 亚洲九色 | 亚洲成人欧美在线 | 国产成人精品免费视频大全最热 | 精品91av| 久草在线资源福利站 | 国产成人高清在线 | 国产超碰人人做人人爱 | 青草久久久久 | 国产在线精品一区二区三区 | 日韩黄色片在线观看 | 深夜小视频在线观看 | 国产在线播放一区二区 | 欧美乱淫| 亚洲第一成人在线视频 | 激情亚洲一区二区三区 | 激情夜色 | 久久色伦理资源站 | a网站在线| 激情综合视频 | 黄色特级毛片 | 欧美a在线观看 | 欧美a一| 热99re久久免费视精品频软件 | 一级看片免费视频 | 综合在线一区 | 看毛片电影 | 久久综合婷婷 | 主播粉嫩国产在线精品 |