Android實現圓角ImageView

2021-08-09 07:54:07 字數 1871 閱讀 5224

android實現圓角imageview

code : 

效果圖如下:

實現步驟:1、新增roundangleimageview檔案,實現自定義view。原理:1、重新繪製,採用mode.dst_out去掉重疊部分的原理,先製作重貼部分,刪除重疊部分即可2、分別用原理1,在4個角製作出圓角部分,去掉4個角

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.paint;

import android.graphics.path;

import android.graphics.porterduff;

import android.graphics.porterduffxfermode;

import android.graphics.rectf;

import android.util.attributeset;

import android.widget.imageview;

/** * 實現圓角頭像

*/public class roundangleimageview extends imageview

public roundangleimageview(context context, attributeset attrs)

public roundangleimageview(context context)

private void init(context context, attributeset attrs) else

paint = new paint();

paint.setcolor(color.white);

paint.setantialias(true);

paint.setxfermode(new porterduffxfermode(porterduff.mode.dst_out));

paint2 = new paint();

paint2.setxfermode(null);

}@override

public void draw(canvas canvas)

private void drawleftup(canvas canvas)

private void drawleftdown(canvas canvas)

private void drawrightdown(canvas canvas)

private void drawrightup(canvas canvas)

}

2、在values目錄下新增(如果已經存在不需要新增)attribute.xml

<?xml version="1.0" encoding="utf-8"?>

3、在布局檔案中可以直接使用,如果包名不一致,請替換包名

4、執行即可看到效果

android實現邊框圓角

1.在drawable 下新建 shape.xml 檔案 xml android radius為角的弧度,值越大角越圓。我們還可以把四個角設定成不同的角度,方法為 2.1設定成0dp無效,2.1以上版本可以,如果無效的話那就只能設成1dp了。2.設定引用 android background dra...

Android實現圓角邊框

設定邊框圓角可以在drawable mdpi目錄裡定義乙個xml 000000 10dp android toprightradius 10dp android bottomrightradius 10dp android bottomleftradius 10dp 解釋 solid的表示填充顏色,...

Android實現圓角邊框

設定邊框圓角可以在drawable mdpi目錄裡定義乙個xml 解釋 solid的表示填充顏色,為了簡單,這裡用的是黑色。而corners則是表示圓角,注意的是這裡bottomrightradius是左下角而不是右下角,bottomleftradius右下角。當然上面的效果也可以像下面一樣設定,如...