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

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

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

2019-10-23 18:29:23
字體:
供稿:網(wǎng)友

效果圖

android,圓形頭像

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

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

Glide實現(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后為出錯時載入的圖像,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(); }}

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

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


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 道孚县| 项城市| 盘山县| 宣威市| 三河市| 长海县| 九台市| 凯里市| 贵溪市| 灵川县| 横峰县| 南宫市| 紫阳县| 伽师县| 霍城县| 蓝田县| 呈贡县| 宁河县| 措美县| 浮梁县| 文安县| 枞阳县| 修文县| 嘉善县| 都昌县| 南汇区| 崇明县| 梅河口市| 探索| 五指山市| 江陵县| 大余县| 沂源县| 平陆县| 永善县| 保亭| 高碑店市| 贵港市| 嘉禾县| 武穴市| 濮阳县|