android 仿微信群聊头像 合成图片

android 仿微信群聊头像 合成图片,微信中可以显示出群头像为多个用户的头像网格,这里讲方法已经封装好,

如果有记得点赞哦!!

先看效果:
在这里插入图片描述
使用例子:

@Override
public void onClick(View v) {
    PNUtils.runThread(new Runnable() {
        @Override
        public void run() {
            Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.cx_facebook_icon);
            Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.mipmap.cx_google_icon);
            Bitmap bitmap3 = BitmapFactory.decodeResource(getResources(), R.mipmap.cx_twitter);
            Bitmap bitmap4 = BitmapFactory.decodeResource(getResources(), R.mipmap.cx_weixin_icon);
            List<Bitmap> bitmaps=new ArrayList<>();
            bitmaps.add(bitmap);
            bitmaps.add(bitmap1);
            bitmaps.add(bitmap3);
            bitmaps.add(bitmap4);
            final Bitmap bitmap2=PNUtils.createHeaderBitmap(bitmaps, 300, 300, 2, "#000000");
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    imageView.setImageBitmap(bitmap2);
                }
            });
        }
    });
}

public static Bitmap createHeaderBitmap(List<Bitmap> bitmaps,int maxWidth,int maxHeight, int columnNums, String backgroundColor) {
    if (bitmaps.size()==0)
        return null;
    int itemWidth=maxWidth/columnNums;
    int itemHeight=maxHeight/columnNums;
    int rows=-1;
    Bitmap bitmap2 = Bitmap.createBitmap(maxWidth, maxHeight, Bitmap.Config.ARGB_8888);
    Canvas canvas=new Canvas(bitmap2);
    canvas.drawColor(Color.parseColor(backgroundColor));
    for (int i=0; i<bitmaps.size(); i++) {
        int column=i%columnNums;
        if (column==0)
            rows++;
        canvas.drawBitmap(resizeBitmap(bitmaps.get(i), itemWidth), column*itemWidth, rows*itemHeight, null);
    }
    return bitmap2;
}


/**
 * 重新修改图片大小
 */
public static Bitmap resizeBitmap(Bitmap bitmap, int newWidth) {
    float scaleWidth = ((float) newWidth) / bitmap.getWidth();
    Matrix matrix = new Matrix();
    matrix.postScale(scaleWidth, scaleWidth);
    Bitmap bmpScale = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
    return bmpScale;
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现Android仿微信朋友圈图片查看功能,可以按照以下步骤进行: 1. 首先,需要使用一个RecyclerView来展示朋友圈的列表,每个朋友圈项包含了图片的缩略图、文字内容和评论等信息。 2. 当用户点击某个朋友圈项时,需要跳转到一个新的Activity或者Fragment来显示该朋友圈的详细内容。 3. 在新的界面中,可以使用ViewPager来展示朋友圈中的图片。ViewPager的每一页对应一张图片,并实现左右滑动切换图片的功能。 4. 对于图片的加载,可以使用一个图片加载库如Glide或Picasso来加载图片,避免OOM(Out of Memory)的问题。 5. 为了更好的用户体验,可以在ViewPager上添加一个类似于微信图片预览效果,即当用户点击某张图片时,可以全屏显示,并支持缩放、双击放大、手势滑动等功能。 6. 为了保证性能和流畅度,可以使用一些优化技巧,如图片的压缩、缓存、异步加载等。 7. 如果需要支持多张图片的查看,可以使用PhotoView或类似的第三方库来实现,它可以显示多张图片,并支持手势操作。 8. 最后,为了提高用户体验,可以加入一些其他功能,如显示图片的点赞数和评论数、支持多种分享方式、图片保存等。 通过以上步骤的实现,就可以实现Android仿微信朋友圈图片查看的功能了。这样用户就可以在朋友圈列表中预览图片,点击后再进行详细查看和操作,提高了用户的交互体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值