imageview圆角(imageview圆形头像)
简介:
在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圆角效果的两种方法,可以根据具体需求选择其中一种方法进行实现。通过美化控件样式,可以使界面更加吸引人,增加用户体验。