Android Studio 图片圆角
时间: 2023-12-14 09:34:02 浏览: 146
以下是两种在Android Studio中实现图片圆角的方法:
1.使用第三方库RoundedImageView,可以在xml文件中设置圆角弧度、边框宽度和颜色等属性,也可以在Java文件中动态设置图片、背景和其他属性。具体使用方法如下:
在build.gradle文件中添加依赖:
```gradle
dependencies {
implementation 'com.makeramen:roundedimageview:2.3.0'
}
```
在xml文件中添加RoundedImageView控件,并设置相关属性:
```xml
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/imageView1"
android:src="@drawable/photo1"
android:scaleType="fitCenter"
app:riv_corner_radius="30dip"//该属性可以设置圆角弧度
app:riv_border_width="2dip"//该属性可以设置边框宽度
app:riv_border_color="#333333"//该属性可以设置边框颜色
app:riv_mutate_background="true"
app:riv_tile_mode="repeat"
app:riv_oval="true" />
```
在Java文件中使用RoundedImageView控件,并设置相关属性:
```java
RoundedImageView riv = new RoundedImageView(context);
riv.setScaleType(ScaleType.CENTER_CROP);
riv.setCornerRadius((float) 10);
riv.setBorderWidth((float) 2);
riv.setBorderColor(Color.DKGRAY);
riv.mutateBackground(true);
riv.setImageDrawable(drawable);
riv.setBackground(backgroundDrawable);
riv.setOval(true);
riv.setTileModeX(Shader.TileMode.REPEAT);
riv.setTileModeY(Shader.TileMode.REPEAT);
```
2.使用BitmapShader和Canvas绘制圆角图片,具体使用方法如下:
```java
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
```
其中,roundPx参数表示圆角的弧度,bitmap参数表示需要处理的图片。在使用时,只需要调用该方法即可得到圆角图片。
阅读全文