Android仿微信群聊头像

2019-12-10 19:12:39王旭

四个ImageView控件,用来显示图片不说了

2.获取Bitmap,设定图片的属性

/**
   * 获取图片数组实体
   * @param count
   * @return
   */
  private List<BitmapBean> getBitmapEntitys(int count) {
    List<BitmapBean> mList = new ArrayList<>();
    String value = PropertiesUtil.readData(this, String.valueOf(count),
        R.raw.data);
    String[] arr1 = value.split(";");
    int length = arr1.length;
    for (int i = 0; i < length; i++) {
      String content = arr1[i];
      String[] arr2 = content.split(",");
      BitmapBean entity = null;
      for (int j = 0; j < arr2.length; j++) {
        entity = new BitmapBean();
        entity.setX(Float.valueOf(arr2[0]));
        entity.setY(Float.valueOf(arr2[1]));
        entity.setWidth(Float.valueOf(arr2[2]));
        entity.setHeight(Float.valueOf(arr2[3]));
      }
      mList.add(entity);
    }
    return mList;
  }

3.创建压缩图片,这里我们用到了ThumbnailUtils中的extractThumbnail()方法,参数为bitmap,width,height

/**
   * 初始化数据
   */
  private void initData(){
    /*获取四个图片数组*/
    bitmapBeans1 = getBitmapEntitys(1);
    bitmapBeans2 = getBitmapEntitys(2);
    bitmapBeans3 = getBitmapEntitys(3);
    bitmapBeans4 = getBitmapEntitys(4);
    /*bitmap缩略图*/
    Bitmap[] bitmaps1 = {
        ThumbnailUtils.extractThumbnail(BitmapUtils.getScaleBitmap(
        getResources(), R.drawable.j), (int) bitmapBeans1
        .get(0).getWidth(), (int) bitmapBeans1.get(0).getWidth())};
    Bitmap[] bitmaps2 = {
        ThumbnailUtils.extractThumbnail(BitmapUtils.getScaleBitmap(
        getResources(), R.drawable.j), (int) bitmapBeans2
        .get(0).getWidth(), (int) bitmapBeans2.get(0).getWidth()),
        ThumbnailUtils.extractThumbnail(BitmapUtils.getScaleBitmap(
        getResources(), R.drawable.j), (int) bitmapBeans2
        .get(0).getWidth(), (int) bitmapBeans2.get(0).getWidth())};
    Bitmap[] bitmaps3 = {
        ThumbnailUtils.extractThumbnail(BitmapUtils.getScaleBitmap(
        getResources(), R.drawable.j), (int) bitmapBeans3
        .get(0).getWidth(), (int) bitmapBeans3.get(0).getWidth()),
        ThumbnailUtils.extractThumbnail(BitmapUtils.getScaleBitmap(
        getResources(), R.drawable.j), (int) bitmapBeans3
        .get(0).getWidth(), (int) bitmapBeans3.get(0).getWidth()),
        ThumbnailUtils.extractThumbnail(BitmapUtils.getScaleBitmap(
            getResources(), R.drawable.j), (int) bitmapBeans3
            .get(0).getWidth(), (int) bitmapBeans3.get(0).getWidth())};
    Bitmap[] bitmaps4 = {
        ThumbnailUtils.extractThumbnail(BitmapUtils.getScaleBitmap(
            getResources(), R.drawable.j), (int) bitmapBeans4
            .get(0).getWidth(), (int) bitmapBeans4.get(0).getWidth()),
        ThumbnailUtils.extractThumbnail(BitmapUtils.getScaleBitmap(
            getResources(), R.drawable.j), (int) bitmapBeans4
            .get(0).getWidth(), (int) bitmapBeans4.get(0).getWidth()),
        ThumbnailUtils.extractThumbnail(BitmapUtils.getScaleBitmap(
            getResources(), R.drawable.j), (int) bitmapBeans4
            .get(0).getWidth(), (int) bitmapBeans4.get(0).getWidth()),
        ThumbnailUtils.extractThumbnail(BitmapUtils.getScaleBitmap(
            getResources(), R.drawable.j), (int) bitmapBeans4
            .get(0).getWidth(), (int) bitmapBeans4.get(0).getWidth())};
 }