Android RoundImagview在网络请求图片的bitmap格式的图片出现NullpointException的解决办法

参考:
http://www.it1352.com/902089.html

//将drawable转换为位图
public static Bitmap drawableToBitmap(Drawable drawable){
Bitmap bitmap = null;

    if(drawable instanceof BitmapDrawable){
        BitmapDrawable bitmapDrawable =(BitmapDrawable)drawable;
        if(bitmapDrawable.getBitmap()!= null){
            return bitmapDrawable.getBitmap();
        }
    }

    if(drawable.getIntrinsicWidth()<= 0 || drawable.getIntrinsicHeight()<= 0){
        bitmap = Bitmap.createBitmap(1,1,Bitmap.Config.ARGB_8888); //单色位图将创建1x1像素
    } else {
        bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight(),Bitmap.Config.ARGB_8888);
    }

    Canvas canvas = new Canvas(bitmap);
    drawable.setBounds(0,0,canvas.getWidth(),canvas.getHeight());
    drawable.draw(canvas);
    //返回位图;
    return bitmap;
}

将原来的
位图b =((BitmapDrawable)drawable).getBitmap();
替换为
Bitmap b = drawableToBitmap(drawable);//这句是修改后的
在这个的上面一句
Bitmap bitmap = b.copy(Bitmap.Config.ARGB_8888, true);

在xml布局直接引用
<com.study.brocast_demo_self.ui.RoundImageView
android:layout_width="@dimen/widget_size_50"
android:layout_height="@dimen/widget_size_50"
android:layout_marginLeft="@dimen/widget_size_15"
imagecontrol:border_inside_color="#bc0978"
imagecontrol:border_outside_color="#ba3456"
imagecontrol:border_thickness=“1dp”/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值