Android 自定义View 适配wrap_content 和 padding 模板

来源:互联网 发布:电脑平面设计软件 编辑:程序博客网 时间:2024/06/14 17:59

Android 自定义View 适配wrap_content 和 padding 模板


/**     * 绘制 自定义View的 wrap_content 可做模板     * @param widthMeasureSpec     * @param heightMeasureSpec     */    @Override    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        super.onMeasure(widthMeasureSpec, heightMeasureSpec);        int widthMode = MeasureSpec.getMode(widthMeasureSpec);        int widthSize = MeasureSpec.getSize(widthMeasureSpec);        int heightMode = MeasureSpec.getMode(heightMeasureSpec);        int heightSize = MeasureSpec.getSize(heightMeasureSpec);        if (widthMode == MeasureSpec.AT_MOST && heightMode == MeasureSpec.AT_MOST){            setMeasuredDimension(defaultWidthSize,defaultHeightSize);        }else if (widthMode == MeasureSpec.AT_MOST){            setMeasuredDimension(defaultWidthSize,heightSize);        }else if(heightMode == MeasureSpec.AT_MOST){            setMeasuredDimension(widthSize,defaultHeightSize);        }    }    /**     *  绘制 自定义View的 适配 padding     * @param canvas     */    @Override    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);        int paddingLeft = getPaddingLeft();        int paddingRight = getPaddingRight();        int paddingBottom = getPaddingBottom();        int paddingTop = getPaddingTop();        int width = getWidth() - paddingLeft - paddingRight;        int height = getHeight() - paddingBottom - paddingTop;        // TODO: 2016/9/26  绘图时使用  此 width 和  height    }

0 0
原创粉丝点击