国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android一行代碼實(shí)現(xiàn)圓形頭像

2019-12-12 02:55:08
字體:
供稿:網(wǎng)友

效果圖

在開發(fā)APP中,經(jīng)常要實(shí)現(xiàn)圓形頭像,那么該如何實(shí)現(xiàn)呢?

要裁剪嗎,要重寫draw函數(shù)嗎?不用,只用一行代碼就可以實(shí)現(xiàn)

Glide實(shí)現(xiàn)圓形圖像

Glide.with(mContext)  .load(R.drawable.iv_image_header)  .error(R.drawable.ic_error_default)  .transform(new GlideCircleTransform(mContext))  .into(mImage);

其中l(wèi)oad后為載入的圖像,error后為出錯(cuò)時(shí)載入的圖像,transform是對(duì)其修改,我們也是通過這個(gè)GlideCirTransForm來修改的,使用的話要把mContext替換為你自己的activty,mImage為圖片載入的位置

使用之前的準(zhǔn)備

1.添加項(xiàng)目依賴

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.導(dǎo)入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(); }}

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

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持武林網(wǎng)!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 濮阳市| 清新县| 瓦房店市| 阜平县| 兴国县| 交口县| 体育| 且末县| 安仁县| 林周县| 八宿县| 墨玉县| 桐梓县| 佳木斯市| 哈巴河县| 宜昌市| 天台县| 海盐县| 双鸭山市| 壶关县| 纳雍县| 平遥县| 高唐县| 墨玉县| 龙游县| 达孜县| 临洮县| 皋兰县| 霞浦县| 固镇县| 沙田区| 北海市| 邵武市| 阜城县| 潼关县| 乐都县| 札达县| 老河口市| 伽师县| 广饶县| 七台河市|