2 china hgb china_hgb 于 2016.02.14 06:58 提问

关于BitmapShader创建特殊形状的ImageView的问题

安卓的ImageView,如何使用关于BitmapShader创建特殊形状,scale的计算是根据裁剪前的么?

1个回答

caozhy
caozhy   Ds   Rxr 2016.02.14 07:12
已采纳

http://blog.csdn.net/lmj623565791/article/details/41967509

重点

@Override

protected void onDraw(Canvas canvas)

{

if (getDrawable() == null)

{

return;

}

setUpShader();

    if (type == TYPE_ROUND)  
    {  
        canvas.drawRoundRect(mRoundRect, mBorderRadius, mBorderRadius,  
                mBitmapPaint);  
    } else  
    {  
        canvas.drawCircle(mRadius, mRadius, mRadius, mBitmapPaint);  
        // drawSomeThing(canvas);  
    }  
}  

@Override  
protected void onSizeChanged(int w, int h, int oldw, int oldh)  
{  
    super.onSizeChanged(w, h, oldw, oldh);  
    // 圆角图片的范围  
    if (type == TYPE_ROUND)  
        mRoundRect = new RectF(0, 0, getWidth(), getHeight());  
}  
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!