自定義View(有這些不怕你學不會)

    001.轉載吧,目前自定義view只是剛剛入門,在這裏記錄一些講的很到位的博客:

        有這4篇文章就算你是碼渣也能成神,再次感謝各位博主傾心鉅獻

     

        no01.谷歌的小弟大神鉅獻,珍藏之作

        no02.細緻入微,歡迎品讀,適合新手

        no03. 這位博主講的很到位,點擊查看

        no04.這位博主講的很有份量,點擊查看


     002.onMeasure中常見寫法

private int defalutSize = 200;//具體看情況設置
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    int width = getMySize(defalutSize, widthMeasureSpec);
    int height = getMySize(defalutSize, heightMeasureSpec);
    //......此處可以做一些處理
    setMeasuredDimension(width, height);

}

/**
 * 獲取控件尺寸
 *
 * @param defaultSize 默認的尺寸大小
 * @param measureSpec onMeasure傳進來的值
 * @return
 */
private int getMySize(int defaultSize, int measureSpec) {

    int mySize = defaultSize;
    int mode = MeasureSpec.getMode(measureSpec);
    int size = MeasureSpec.getSize(measureSpec);
    switch (mode) {
        case MeasureSpec.UNSPECIFIED: {//如果沒有指定大小,就設置爲默認大小
            mySize = defaultSize;
            break;
        }
        case MeasureSpec.AT_MOST: {//如果測量模式是最大取值爲size
            //我們將大小取最大值,你也可以取其他值
            mySize = size;
            break;
        }
        case MeasureSpec.EXACTLY: {//如果是固定的大小,那就不要去改變它
            mySize = size;
            break;
        }
    }
    return mySize;
}

     003.不斷更新中,有好文第一時間記錄、學習,有好文希望大家多多推薦學習

發佈了39 篇原創文章 · 獲贊 30 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章