如何快速制作圆角的ImageViews



所以,我已经看到这是一个常见的问题,许多用户已经找到了许多解决这个问题的方法。最常见的建议解决方案是创建一个自定义视图;"四舍五入";属性,以便使图像的角变圆。建议的另一个解决方案是导入一些第三方包,以获得一个现成的自定义视图,从而实现圆形图像。

这没什么错,但难道没有一个更简单的解决方案来获得完整的ImageView吗?

这个解决方案实际上很简单,但还没有提出太多建议。几个月前,我正在寻找一个简单的解决方案来获得完整的ImageView,我所能找到的只是复杂的解决方案。我写这个答案,因为这不是每个人都知道的(这个解决方案已于2020年底在安卓系统中实现(,因此,如果新加入安卓工作室的人有同样的问题,他们将能够快速找到一个简单的解决方案,使任何ImageView都变得全面。

首先,由于解决方案是在androidx库中实现的,您应该确保在gradle:中声明了这个依赖项

dependencies {
//...
implementation "androidx.constraintlayout:constraintlayout:2.0.4"
}

在同步你的等级后,你将能够使用一个名为";ImageFilterView";。

ImageFilterView是ImageView的子类,因此它继承了通用ImageView的所有内容,但为了操作图像,还添加了一些内容。在这些新事物中,有一个属性"roundPercent";这允许您设置图像的角应该被圆角的程度。请记住,这是一个百分比值,因此它必须是介于0.0和1.0之间的浮点值。将该属性设置为1.0将使图像完全为圆形。

仅此而已,无需其他操作,这将足以获得完整的ImageView:

<androidx.constraintlayout.utils.widget.ImageFilterView
app:roundPercent = 1.0 />

(请记住,您必须在xml文件的第一个布局的开头定义"应用程序"命名空间,才能使用它:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!-- ... -->
</layout>

最新更新