最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2013年06月15日 10:48:53   作者:  
本篇文章是對繼承ViewGroup后的子類如何重寫onMeasure方法進行了詳細的分析介紹,需要的朋友參考下
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的值是多少,有三種情況。
如果是大于零的話,及傳遞的就是一個具體的值,那么,構(gòu)造MeasupreSpec的時候可以直接用EXACTLY。
如果為-1的話,就是MatchParent的情況,那么,獲得父View的寬度,再用EXACTLY來構(gòu)造MeasureSpec。
如果為-2的話,就是wrapContent的情況,那么,構(gòu)造MeasureSpec的話直接用一個負數(shù)就可以了。

相關(guān)文章

  • Android開發(fā)之文件操作模式深入理解

    Android開發(fā)之文件操作模式深入理解

    本文將介紹Android開發(fā)之文件操作模式,需要了解的朋友可以參考下
    2012-12-12
  • 10種提升android運行效率的建議

    10種提升android運行效率的建議

    這篇文章主要分享提升android運行效率的建議,如何讓安卓程序在有限的內(nèi)存和電池資源下流暢快速有效率的運行,下面給大家分享下面給出了10種實踐中的建議,需要的朋友可以參考一下
    2021-11-11
  • Android開發(fā)筆記之:Dialog的使用詳解

    Android開發(fā)筆記之:Dialog的使用詳解

    本篇文章是對Android中Dialog的使用進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • Android自定義橡皮擦效果

    Android自定義橡皮擦效果

    這篇文章主要為大家詳細介紹了Android自定義橡皮擦效果,橡皮擦擦圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Android學習之AppWidget筆記分享

    Android學習之AppWidget筆記分享

    這篇文章主要為大家詳細介紹了Android學習筆記之AppWidget的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Android線程的優(yōu)先級設(shè)置方法技巧

    Android線程的優(yōu)先級設(shè)置方法技巧

    對于Android平臺上的線程優(yōu)先級設(shè)置來說可以處理很多并發(fā)線程的阻塞問題,比如很多無關(guān)緊要的線程會占用大量的CPU時間,雖然通過了MultiThread來解決慢速I/O但是合理分配優(yōu)先級對于并發(fā)編程來說十分重要
    2016-02-02
  • Android模擬實現(xiàn)網(wǎng)易新聞客戶端

    Android模擬實現(xiàn)網(wǎng)易新聞客戶端

    這篇文章主要為大家詳細介紹了Android模擬實現(xiàn)網(wǎng)易新聞客戶端,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Android Studio項目中導入開源庫的方法

    Android Studio項目中導入開源庫的方法

    這篇文章主要介紹了Android Studio項目中導入開源庫的方法,即使用第三方庫、第三廣場框架的方法,需要的朋友可以參考下
    2015-06-06
  • Android仿微信二維碼和條形碼

    Android仿微信二維碼和條形碼

    這篇文章主要介紹了Android仿微信二維碼生成以及條形碼生成具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • android 使用虛擬機安裝apk(圖文教程)

    android 使用虛擬機安裝apk(圖文教程)

    android 使用虛擬機安裝apk對一些新手朋友會很陌生,今天教大家使用使用虛擬機安裝apk文件,步驟很詳細,有需要的朋友可以參考下
    2012-12-12

最新評論

大连市| 长岭县| 江西省| 马关县| 高尔夫| 思南县| 昂仁县| 根河市| 读书| 通辽市| 延寿县| 临邑县| 石城县| 广丰县| 鄂州市| 罗山县| 平定县| 商南县| 泾川县| 永修县| 旅游| 成武县| 肃南| 上蔡县| 崇文区| 始兴县| 沙坪坝区| 小金县| 东宁县| 钟山县| 白沙| 科尔| 抚顺市| 大同市| 海林市| 陵川县| 新闻| 新巴尔虎右旗| 黑水县| 剑阁县| 阜宁县|