android 实现ImageView 控件来显示头像图像为圆形框的代码
时间: 2024-03-24 18:39:18 浏览: 77
要实现在安卓应用中显示圆形头像图像的功能,你可以通过以下步骤来实现:
1. 创建一个 xml 文件,定义圆形 ImageView 控件。
```
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="120dp"
android:height="120dp" />
<solid android:color="#FFFFFF" />
<stroke
android:width="2dp"
android:color="#CCCCCC" />
</shape>
```
2. 在布局文件中使用定义的圆形 ImageView 控件。
```
<ImageView
android:id="@+id/avatar"
android:layout_width="120dp"
android:layout_height="120dp"
android:src="@drawable/avatar"
android:background="@drawable/circle" />
```
3. 通过代码将图片显示为圆形。
```
public static Bitmap getCircleBitmap(Bitmap bitmap) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output);
Paint paint = new Paint();
Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
canvas.drawCircle(bitmap.getWidth() / 2,
bitmap.getHeight() / 2, bitmap.getWidth() / 2, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
```
在调用这个方法之后,将返回的 Bitmap 对象设置为 ImageView 的背景即可。
```
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.avatar);
ImageView imageView = findViewById(R.id.avatar);
imageView.setImageBitmap(getCircleBitmap(bitmap));
```
这样,你就可以在你的安卓应用中实现圆形头像图像的显示了。
阅读全文