给imageview设置圆角
时间: 2024-11-18 22:11:13 浏览: 45
要在Android的ImageView上设置圆角,你可以使用`android:srcCompat`属性来显示图片,并结合`android:background`属性来应用圆形边框。如果你直接在XML布局文件中操作,可以这样做:
```xml
<ImageView
android:id="@+id/image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:srcCompat="@drawable/your_image"
android:background="@drawable/circle_shape_background"
/>
```
然后,在`res/drawable`目录下创建一个新的圆形形状背景`circle_shape_background.xml`文件:
```xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/your_color" />
<corners android:radius="5dp" /> <!-- 设置圆角大小,这里5dp代表5像素 -->
</shape>
```
将`@color/your_color`替换为你想要的图片背景色。
如果你想在程序运行时动态设置,你可以通过代码获取ImageView并修改其`background`属性:
```java
ImageView imageView = findViewById(R.id.image_view);
imageView.setBackground(getCircleDrawable(5)); // 动态设置圆角大小为5dp
```
其中`getCircleDrawable()`是一个自定义函数,生成一个带圆角的Drawable:
```java
public Drawable getCircleDrawable(int cornerRadius) {
ShapeDrawable shapeDrawable = new ShapeDrawable(new OvalShape());
shapeDrawable.getPaint().setColor(Color.TRANSPARENT);
shapeDrawable.setPadding(cornerRadius, cornerRadius, cornerRadius, cornerRadius);
return shapeDrawable;
}
```
阅读全文