微信分享,图标背景黑色问题解决

2017-08-10  本文已影响120人  我想吃碗牛肉面

背景
在做微信分享,分享带图标的链接时,并没有达到我们想要的效果,图标背景是黑色的,如下两张图。

没修改前的效果 修改后的效果

XML方法解决
这里用到了Drawable Resources 里的layer list知识。
res/drawable/layer_icon.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@color/white"/>
    <item
        android:drawable="@drawable/icon" />
</layer-list>

在分享时这样获取bitmap即可:

Bitmap bitmap = BitmapUtil.getBitmapFromResources(this,R.drawable.layer_icon);



Java方法解决
此方法主要针对该图标不在本地res里,而是线上获取的。需要注意的是以下方法中bitmap参数,最好也是200*200的大小,也是ARGB_8888的位图像素配置。

    /**
     * 把bitmap画到一个白底的newBitmap上,将newBitmap返回
     * @param context 上下文
     * @param bitmap 要绘制的位图
     * @return Bitmap
     */
    public static Bitmap drawableBitmapOnWhiteBg(Context context,Bitmap bitmap){
        Bitmap newBitmap = Bitmap.createBitmap(200, 200, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(newBitmap);
        canvas.drawColor(context.getResources().getColor(android.R.color.white));
        Paint paint=new Paint();
        canvas.drawBitmap(bitmap, 0, 0, paint); //将原图使用给定的画笔画到画布上
        return newBitmap;
    }
上一篇下一篇

猜你喜欢

热点阅读