亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

CustomImageView圓形imageView, 支持xutils加載

2019-11-09 14:04:21
字體:
來源:轉載
供稿:網友
package com.beidaivf.aibaby.myview;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Matrix;import android.graphics.Paint;import android.graphics.PorterDuff;import android.graphics.PorterDuffXfermode;import android.graphics.RectF;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;import android.util.AttributeSet;import android.widget.ImageView;import com.beidaivf.aibaby.R;/** * 圖片圓角實現,支持xUtils *  * @author Himan *  */public class CustomImageView extends ImageView {   PRivate Paint paint;   private Paint paintBorder;   public CustomImageView(final Context context) {      this(context, null);   }   public CustomImageView(Context context, AttributeSet attrs) {      this(context, attrs, R.attr.customImageViewStyle);   }   public CustomImageView(Context context, AttributeSet attrs, int defStyle) {      super(context, attrs, defStyle);      this.setScaleType(ScaleType.FIT_XY);      TypedArray ta = context.obtainStyledAttributes(attrs,            R.styleable.CustomImageView, defStyle, 0);      mRadius = ta.getDimension(R.styleable.CustomImageView_radius, 0);      mIsCircle = ta.getBoolean(R.styleable.CustomImageView_circle, false);      ta.recycle();      paint = new Paint();      paint.setAntiAlias(true);      paintBorder = new Paint();      paintBorder.setAntiAlias(true);   }   public void addShadow() {      setLayerType(LAYER_TYPE_SOFTWARE, paintBorder);      paintBorder.setShadowLayer(4.0f, 0.0f, 2.0f, Color.BLACK);   }   private float mRadius;   private boolean mIsCircle;   @Override   public void onDraw(Canvas canvas) {      int width = canvas.getWidth() - getPaddingLeft() - getPaddingRight();      int height = canvas.getHeight() - getPaddingTop() - getPaddingBottom();      Bitmap image = drawableToBitmap(getDrawable());      Bitmap reSizeImage = reSizeImage(image, width, height);      if (mIsCircle) {         canvas.drawBitmap(createCircleImage(reSizeImage, width, height),               getPaddingLeft(), getPaddingTop(), null);      } else {         canvas.drawBitmap(createRoundImage(reSizeImage, width, height),               getPaddingLeft(), getPaddingTop(), null);      }   }   private Bitmap createRoundImage(Bitmap source, int width, int height) {      final Paint paint = new Paint();      paint.setAntiAlias(true);      Bitmap target = Bitmap.createBitmap(width, height, Config.ARGB_8888);      Canvas canvas = new Canvas(target);      RectF rect = new RectF(0, 0, width, height);      canvas.drawRoundRect(rect, mRadius, mRadius, paint);      paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));      canvas.drawBitmap(source, 0, 0, paint);      return target;   }   private Bitmap createCircleImage(Bitmap source, int width, int height) {      final Paint paint = new Paint();      paint.setAntiAlias(true);      Bitmap target = Bitmap.createBitmap(width, height, Config.ARGB_8888);      Canvas canvas = new Canvas(target);      canvas.drawCircle(width / 2, height / 2, Math.min(width, height) / 2,            paint);      paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));      canvas.drawBitmap(source, 0, 0, paint);      return target;   }   @Override   protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {      int width = MeasureSpec.getSize(widthMeasureSpec);      int height = MeasureSpec.getSize(heightMeasureSpec);      setMeasuredDimension(width, height);   }   /**    * drawablebitmap    *     * @param drawable    * @return    */   private Bitmap drawableToBitmap(Drawable drawable) {      if (drawable == null) {         return null;      } else if (drawable instanceof BitmapDrawable) {         return ((BitmapDrawable) drawable).getBitmap();      }      Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicHeight(),            drawable.getIntrinsicHeight(), Config.ARGB_8888);      Canvas canvas = new Canvas(bitmap);      drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());      drawable.draw(canvas);      return bitmap;   }   /**    * 重設Bitmap的寬高    *     * @param bitmap    * @param newWidth    * @param newHeight    * @return    */   private Bitmap reSizeImage(Bitmap bitmap, int newWidth, int newHeight) {      int width = bitmap.getWidth();      int height = bitmap.getHeight();      // 計算出縮放比      float scaleWidth = ((float) newWidth) / width;      float scaleHeight = ((float) newHeight) / height;      // 矩陣縮放bitmap      Matrix matrix = new Matrix();      matrix.postScale(scaleWidth, scaleHeight);      return Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);   }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情视频一区二区三区不卡| 亚洲精品国产精品国自产观看浪潮| 欧美精品久久久久a| 国产日韩av高清| 伊人久久免费视频| 欧美成人亚洲成人| 日韩有码在线视频| 国产三级精品网站| 久久久亚洲影院你懂的| 国产精品久久一区| 成人免费淫片视频软件| 亚洲伦理中文字幕| 国产精品com| 精品香蕉一区二区三区| 在线观看免费高清视频97| 国产亚洲视频在线观看| 亚洲第一精品夜夜躁人人躁| 色偷偷av一区二区三区| 国产精品亚洲片夜色在线| 成人网在线观看| 亚洲欧美国内爽妇网| 欧美日韩亚洲一区二区| 亚洲人成网站在线播| 国产精品96久久久久久| 中文字幕日韩精品在线观看| 国产精品久久久久久久7电影| 亚洲精品福利视频| 日韩av免费看| 亚洲精品久久在线| 亚洲国产精品高清久久久| 国产成人精品优优av| 成人福利网站在线观看| 亚洲国产精品推荐| 国内自拍欧美激情| 国产精国产精品| 亚洲第一福利网| 久久久久久久999| 26uuu亚洲国产精品| 亚洲第一国产精品| 国产精品久久久久久久久久ktv| 91成人免费观看网站| 日本午夜人人精品| 国产精品人人做人人爽| 日韩综合视频在线观看| 日本精品性网站在线观看| 久久精品国产一区二区电影| 91久久久亚洲精品| 国产亚洲精品久久久优势| 午夜剧场成人观在线视频免费观看| 国产精品极品美女粉嫩高清在线| 亚洲人在线视频| 2020欧美日韩在线视频| 欧美在线一级视频| 91香蕉嫩草神马影院在线观看| 亚洲**2019国产| 不卡中文字幕av| 国产福利视频一区二区| 亚洲国产另类 国产精品国产免费| 欧美成人免费播放| 亚洲电影免费观看高清完整版| 久久久久久久久电影| 国产区亚洲区欧美区| 亚洲天堂第二页| 亚洲精品自在久久| 亚洲成av人影院在线观看| 亚洲精品久久久一区二区三区| 久久视频这里只有精品| 日韩av在线免播放器| 成人在线小视频| 国产精品高潮呻吟久久av黑人| 日韩在线观看高清| 欧美激情网站在线观看| 欧美丝袜第一区| 午夜精品久久久久久久男人的天堂| 伊人av综合网| 91禁国产网站| 成人在线播放av| 国产精品v日韩精品| 国产九九精品视频| 亚洲欧美综合区自拍另类| 日本精品久久久久久久| 国内精品久久久久久久| 91老司机精品视频| 成人在线观看视频网站| 中文字幕国产亚洲2019| 色香阁99久久精品久久久| 91色精品视频在线| 亚洲毛片在线免费观看| 欧美性猛交xxxx富婆| 国产精品免费久久久久久| 久久天天躁夜夜躁狠狠躁2022| 国产日本欧美一区二区三区在线| 国产精品成人一区二区三区吃奶| 欧美性极品xxxx做受| 欧美日韩免费观看中文| 成人欧美一区二区三区在线湿哒哒| 这里精品视频免费| 91美女福利视频高清| 欧美高清视频一区二区| 国产一区私人高清影院| 亚洲精品一区在线观看香蕉| 国产成人精品网站| 色哟哟亚洲精品一区二区| 欧美在线性爱视频| 日韩av一区在线观看| 九九精品在线视频| 精品中文字幕在线观看| 国产精品爱久久久久久久| 亚洲欧美中文在线视频| 日韩国产欧美精品在线| 日韩av在线网页| 色yeye香蕉凹凸一区二区av| 成人做爽爽免费视频| 在线观看精品国产视频| 97超级碰在线看视频免费在线看| 91免费看片网站| 91综合免费在线| 青青青国产精品一区二区| 国产欧美日韩亚洲精品| 亚洲欧美精品中文字幕在线| 91大神福利视频在线| 国产91精品不卡视频| 日韩精品一区二区三区第95| 中文字幕在线亚洲| 日韩美女福利视频| 欧洲美女7788成人免费视频| 久久久久久久久国产| 人体精品一二三区| 日韩精品免费综合视频在线播放| 国产欧美日韩免费| 91精品国产色综合| 国外成人在线播放| 欧美视频精品一区| 色伦专区97中文字幕| 91av在线播放视频| 97精品国产97久久久久久春色| 色诱女教师一区二区三区| 日韩精品在线观看一区二区| 国模叶桐国产精品一区| 欧美精品福利视频| 久久久最新网址| 亚洲色图17p| 最近2019年中文视频免费在线观看| 2019国产精品自在线拍国产不卡| 91精品国产777在线观看| 久久久久久成人| 欧美裸体xxxx| 亚洲精品久久7777777| 日韩在线免费视频观看| 日韩av在线播放资源| 国产亚洲欧美日韩精品| 亚洲xxx自由成熟| 日韩欧美在线视频免费观看| 国产日产欧美精品| 国外视频精品毛片| 91精品视频在线看| 日韩精品免费一线在线观看| 欧美激情在线观看视频| 乱亲女秽乱长久久久| 国产成人avxxxxx在线看| 国产精品91久久久久久| 亚洲bt天天射| 亚洲日本欧美中文幕| 欧美成人精品一区二区|