自定義圓形或圓角imageview

2021-07-02 03:49:22 字數 1675 閱讀 2550



package com.yelong.medicalscience.widgets;

import android.annotation.suppresslint;

import android.content.context;

import android.graphics.bitmap;

import android.graphics.bitmap.config;

import android.graphics.canvas;

import android.graphics.color;

import android.graphics.paint;

import android.graphics.paintflagsdrawfilter;

import android.graphics.porterduff;

import android.graphics.porterduffxfermode;

import android.graphics.rectf;

import android.graphics.drawable.bitmapdrawable;

import android.util.attributeset;

import android.widget.imageview;

public class shapeimageview extends imageview

public shapeimageview(context context, attributeset attrs)

public shapeimageview(context context)

public int getshape()

public void setshape(int mshape)

public int getradiusx()

public int getradiusy()

/*** 設定圓角矩形的弧度(當shape=round_tangle才有效)

* * @param mradiusx

*/public void setradius(int radiusx, int radiusy)

}/**

* 生成幾何蒙版bitmap,即建立想要的幾何形狀(圓角、圓形等)的底板,用於與原圖相交繪製

* * @param w

* @param h

* @return

*/private bitmap getshapebitmap(int width, int height, bitmap bitmapsrc, int shape)

p.setxfermode(xfermode);

canvas.drawbitmap(bitmapsrc, null, new rectf(0, 0, bmpsrcwidth, bmpsrcheight), p);// 繪製原圖並相交得出最終圓角

p.setxfermode(null);

return bmpdst;

}@suppresslint("drawallocation")

@suppresswarnings("deprecation")

@override

protected void ondraw(canvas canvas)

super.ondraw(canvas);}}

Android自己定義圓角ImageView

package com.yulongfei.imageview import android.content.context import android.content.res.typedarray import android.graphics.bitmap import android.gra...

自定義圓形Imageview

1 學習一定要善於總結,和敢於使用新的知識 2 一直使用的都是別人寫好的控制項,今天趁著國慶放假有時間,嘗試自己寫經常要用到的框架 3 知識總結 一 用於建立canvas的bitmap不能是已經存在的bitmap 二 這個自定view中遇到乙個坑就是的大小和遮罩大小不匹配是,需要我們對bitmap做...

自定義圓形 ImageView

android預設的imageview是矩形的,為了達到圓形的目的,需要自定義控制項,繼承imageview,重寫ondraw函式。最終效果 具體步驟 1.先根據控制項的短的一邊為半徑繪製乙個圓形 bitmap bitmap bitmapdrawable drawable getbitmap int...