ImageView src与background的区别

    xiaoxiao2023-03-24  6

    在使用ImageView的过程中,使用src或者backgroud都可以设置图片,但这两者是有区别的。

    1.backgroud继承于父类view,而src是ImageView的自带属性。

    2.绘制过程不同。

    public void draw(Canvas canvas) { ...... if (!dirtyOpaque) { drawBackground(canvas);//绘制背景 } // skip step 2 & 5 if possible (common case) final int viewFlags = mViewFlags; boolean horizontalEdges = (viewFlags & FADING_EDGE_HORIZONTAL) != 0; boolean verticalEdges = (viewFlags & FADING_EDGE_VERTICAL) != 0; if (!verticalEdges && !horizontalEdges) { // Step 3, draw the content if (!dirtyOpaque) onDraw(canvas);//绘制自身 ...... } 从view的draw方法可以看到,它会先绘制background,然后调用自身的onDraw()方法。

    protected void onDraw(Canvas canvas) { super.onDraw(canvas); ...... if (mDrawMatrix == null && mPaddingTop == 0 && mPaddingLeft == 0) { mDrawable.draw(canvas);//绘制mDrawable } else { ...... } }在ImageView的ondraw()方法中,会绘制src引用的drawable。

    转载请注明原文地址: https://ju.6miu.com/read-1202791.html
    最新回复(0)