• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            xiaoguozi's Blog
            Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····
            android的布局分兩個階段,先measure()后requestLayout(),
            一個MeasureSpec封裝了父布局傳給子布局的布局要求。每個MeasureSpec代表了一個寬度或高度的要求。一個MeasureSpec包含一個尺寸和模式。
            MeasureSpec的三種模式:
            UNSPECIFIED:父布局沒有給子布局任何限制,子布局可以任意大小。
            EXACTLY:父布局決定子布局的確切大小。不論子布局多大,它都必須限制在這個界限里。
            AT_MOST:子布局可以根據自己的大小選擇任意大小。
            @Override
            protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            int measuredHeight = measureHeight(heightMeasureSpec);
            int measuredWidth = measureWidth(widthMeasureSpec);
            setMeasuredDimension(measuredHeight, measuredWidth);
            //final DisplayMetrics metrics = getResources().getDisplayMetrics();
            //setMeasuredDimension(mBitmap.getScaledWidth(metrics),mBitmap.getScaledHeight(metrics));
            }
            private int measureHeight(int measureSpec) {
            int specMode = MeasureSpec.getMode(measureSpec);
            int specSize = MeasureSpec.getSize(measureSpec);
            int result = 500;
            if (specMode == MeasureSpec.AT_MOST)
            {
            result = specSize;
            }
            else if (specMode == MeasureSpec.EXACTLY)
            {
            result = specSize;
            }
            return result;
            }
            private int measureWidth(int measureSpec) {
            int specMode = MeasureSpec.getMode(measureSpec);
            int specSize = MeasureSpec.getSize(measureSpec);
            int result = 500;
            if (specMode == MeasureSpec.AT_MOST)
            {
            result = specSize;
            }
            else if (specMode == MeasureSpec.EXACTLY)
            {
            result = specSize;
            }
            return result;
            }
            Creation
            Constructors
            onFinishInflate() 當View和它的所有子對象從XML中導入之后,調用此方法
            Layout
            onMeasure(int, int) View會調用此方法,來確認自己及所有子對象的大小
            onLayout(boolean, int, int, int, int, int, int) 當View要為所有子對象分配大小和位置時,調用此方法
            onSizeChanged(int, int, int, int) 當View大小改變時,調用此方法
            Drawing
            onDraw(Canvas) 當View要繪制它的內容時,調用此方法
            Event processing
            onKeyDown(int, KeyEvent) 當一個新的按鍵事件發生時,調用此方法
            onKeyUp(int, KeyEvent) 當一個按鍵釋放事件發生時,調用此方法
            onMotionEvent(MotionEvent) 當一個動作事件(如觸摸)發生時,調用此方法
            Focus
            onFocusChanged(boolean, int) 當View獲得或失去焦點時,調用此方法
            Attaching
            onAttachedToWindow() 當View附加到一個窗體上時,調用此方法
            onDetachedFromWindow() 當View離開它的窗體時,調用此方法
            當你為一個 activty 添加一個可見的 view, 并且運行這個activty時,android通常情況下會自動按照下列順序來觸發view的相關事件
            onAttachedToWindow
            onMeasure
            onSizeChanged
            onLayout
            onDraw
            posted on 2012-07-03 19:12 小果子 閱讀(237) 評論(0)  編輯 收藏 引用 所屬分類: Android & Ios
            国产成人精品久久亚洲高清不卡| 狠狠精品久久久无码中文字幕 | 久久久久99精品成人片牛牛影视| 99久久国产主播综合精品| 久久精品亚洲福利| 久久人人添人人爽添人人片牛牛| 无码国内精品久久综合88| 东方aⅴ免费观看久久av| 日本强好片久久久久久AAA| 亚洲国产另类久久久精品小说| 91久久精品91久久性色| 久久久中文字幕| 久久久久亚洲爆乳少妇无| 久久99精品久久久大学生| 久久99精品综合国产首页| 久久国产一区二区| 亚洲人成网站999久久久综合| 久久久久高潮综合影院| 91久久九九无码成人网站| 久久天天躁狠狠躁夜夜avapp| 国产一级做a爰片久久毛片| 久久亚洲高清综合| 性欧美丰满熟妇XXXX性久久久 | 久久无码一区二区三区少妇 | 国产精品美女久久久网AV| 97精品国产97久久久久久免费| 久久香蕉综合色一综合色88| 久久精品国产男包| 青青青青久久精品国产h久久精品五福影院1421 | 久久天天躁狠狠躁夜夜不卡| 久久亚洲精品成人AV| 欧美日韩中文字幕久久久不卡 | 欧洲精品久久久av无码电影| 久久国产影院| 久久久久夜夜夜精品国产| 国内精品久久久久影院薰衣草| 久久91精品综合国产首页| AV色综合久久天堂AV色综合在| 老男人久久青草av高清| 精品人妻伦九区久久AAA片69| 国产精品美女久久久m|