imageview圆角(imageview圆形头像)

megaj.com 2023-07-11 47次阅读

简介:

在Android开发中,ImageView是常用的控件之一,用于显示图片。有时候我们需要对ImageView进行样式美化,其中之一就是实现圆角效果。

多级标题:

一、使用xml文件实现圆角效果

二、使用代码实现圆角效果

内容详细说明:

一、使用xml文件实现圆角效果

1. 在res/drawable目录下创建一个shape的xml文件,命名为round_corner.xml。文件内容如下:

```xml

```

2. 在布局文件中的ImageView标签中添加属性background,并设置为刚才创建的round_corner.xml文件:

```xml

android:id="@+id/image_view"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/round_corner"

android:src="@drawable/image"/>

```

这样就可以通过设置round_corner.xml文件的corners属性来实现ImageView的圆角效果。

二、使用代码实现圆角效果

1. 在项目中新建一个类,继承AppCompatImageView,命名为RoundImageView。代码如下:

```java

public class RoundImageView extends AppCompatImageView {

public RoundImageView(Context context) {

super(context);

}

public RoundImageView(Context context, AttributeSet attrs) {

super(context, attrs);

}

public RoundImageView(Context context, AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

}

@Override

protected void onDraw(Canvas canvas) {

Path path = new Path();

RectF rect = new RectF(0, 0, getWidth(), getHeight());

float radius = 10;

path.addRoundRect(rect, radius, radius, Path.Direction.CW);

canvas.clipPath(path);

super.onDraw(canvas);

}

```

2. 在布局文件中使用刚才创建的RoundImageView替代ImageView标签,并设置其他属性和图片资源:

```xml

android:id="@+id/image_view"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/image"/>

```

通过重写onDraw方法,使用Path和Canvas来画出圆角效果,实现ImageView的圆角样式。

以上就是实现ImageView圆角效果的两种方法,可以根据具体需求选择其中一种方法进行实现。通过美化控件样式,可以使界面更加吸引人,增加用户体验。