Android 图片圆角显示
时间: 2024-09-24 09:05:34 浏览: 36
Android图片展示圆角通常通过创建一个圆形的ImageView或者是在原始的ImageView上应用圆角效果。以下是两种常见的方法:
1. **使用`CircleImageView`库**:可以使用第三方库如`de.hdodenhof:circularimageview`,这个库专门为圆角ImageView设计,可以直接将圆形图片设置为其背景。
```java
// 在XML布局中
<com.github.bumptech.glide.load.resource.drawable.GlideDrawable圆形ImageAdapter>
<ImageView
android:id="@+id/image_rounded"
app:civ_border_width="2dp"
app:civ_border_color="#000"
app:civ_fill_color="@android:color/white"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</com.github.bumptech.glide.load.resource.drawable.GlideDrawable圆形ImageAdapter>
```
或者在代码中初始化:
```java
CircleImageView imageView = findViewById(R.id.image_rounded);
imageView.setImageResource(imageResourceId);
```
2. **自定义View或使用Drawable**:如果需要更复杂的定制,可以在代码里创建一个`BitmapShader`和一个`PorterDuffColorFilter`来手动绘制圆角效果。这里是一个简单的例子:
```java
BitmapShader shader = new BitmapShader(BitmapFactory.decodeResource(getResources(), imageResourceId), Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
Paint paint = new Paint();
paint.setShader(shader);
paint.setAntiAlias(true); // 提高平滑度
RectF bounds = new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight());
paint.setMaskFilter(new BlurMaskFilter(10, BlurMaskFilter.BlurStyle.BLUR));
imageView.setImageBitmap(bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888), paint, bounds);
```
阅读全文