日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 头像球_Android一行代码实现圆形头像

發布時間:2023/12/2 Android 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 头像球_Android一行代码实现圆形头像 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

效果圖

在開發APP中,經常要實現圓形頭像,那么該如何實現呢?

要裁剪嗎,要重寫draw函數嗎?不用,只用一行代碼就可以實現

Glide實現圓形圖像

Glide.with(mContext)

.load(R.drawable.iv_image_header)

.error(R.drawable.ic_error_default)

.transform(new GlideCircleTransform(mContext))

.into(mImage);

其中load后為載入的圖像,error后為出錯時載入的圖像,transform是對其修改,我們也是通過這個GlideCirTransForm來修改的,使用的話要把mContext替換為你自己的activty,mImage為圖片載入的位置

使用之前的準備

1.添加項目依賴

compile 'org.greenrobot:eventbus:3.0.0'

compile 'com.squareup.retrofit2:retrofit:2.0.2'

compile 'com.squareup.retrofit2:converter-gson:2.0.2'

compile 'com.github.bumptech.glide:glide:3.7.0'

compile 'org.jetbrains:annotations-java5:15.0'

compile 'in.srain.cube:ultra-ptr:1.0.11'

compile 'com.wang.avi:library:1.0.5'

2.導入GlideCircleTransform.java文件

GlideCircleTransform.java代碼如下:

package com.sina.weibo.sdk.demo.utils;

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.BitmapShader;

import android.graphics.Canvas;

import android.graphics.Paint;

import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;

import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;

public class GlideCircleTransform extends BitmapTransformation {

public GlideCircleTransform(Context context) {

super(context);

}

@Override

protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {

return circleCrop(pool, toTransform);

}

private static Bitmap circleCrop(BitmapPool pool, Bitmap source) {

if (source == null) return null;

int size = Math.min(source.getWidth(), source.getHeight());

int x = (source.getWidth() - size) / 2;

int y = (source.getHeight() - size) / 2;

Bitmap squared = Bitmap.createBitmap(source, x, y, size, size);

Bitmap result = pool.get(size, size, Bitmap.Config.ARGB_8888);

if (result == null) {

result = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);

}

Canvas canvas = new Canvas(result);

Paint paint = new Paint();

paint.setShader(new BitmapShader(squared, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));

paint.setAntiAlias(true);

float r = size / 2f;

canvas.drawCircle(r, r, r, paint);

return result;

}

@Override

public String getId() {

return getClass().getName();

}

}

完成這兩步,你就可以使用那行代碼完成你自己的圓形頭像啦!

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

總結

以上是生活随笔為你收集整理的android 头像球_Android一行代码实现圆形头像的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。