我已经通过定义自己的背景将图像视图变成圆形。
circle.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="1.9"
android:useLevel="false"
>
<solid android:color="@android:color/transparent" />
<stroke
android:width="10dp"
android:color="@android:color/white" />
</shape>
shadow_rect.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/circle"/>
</layer-list>
mainActivity.xml:
<ImageView
android:id="@+id/imageView4"
android:layout_width="157dp"
android:layout_height="150dp"
android:background="@drawable/profile_image"
android:cropToPadding="false"
app:layout_constraintBottom_toBottomOf="@+id/banner_iamge"
app:layout_constraintEnd_toEndOf="@+id/banner_iamge"
app:layout_constraintHorizontal_bias="0.501"
app:layout_constraintStart_toStartOf="@+id/banner_iamge"
app:layout_constraintTop_toBottomOf="@+id/banner_iamge"
app:layout_constraintVertical_bias="0.476"
app:srcCompat="@drawable/layer_4" />
但是imageview圈子像这样剪辑:
如您所见,个人资料图像周围的白色圆形环被裁剪了。我希望白色环在图像周围显示而不会剪切
我该如何解决?
答案 0 :(得分:1)
使用此库
dependencies {
implementation 'de.hdodenhof:circleimageview:2.2.0'
}
XMl以此替换Imagview
<de.hdodenhof.circleimageview.CircleImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/profile_image"
android:layout_width="96dp"
android:layout_height="96dp"
android:src="@drawable/profile"
app:civ_border_width="2dp"
app:civ_border_color="#FF000000"/>
答案 1 :(得分:0)
背景是视图容器的填充,它不会缩小内容。因此,我建议您为要实现的目标创建自定义视图。
GitHub上有一些很棒的项目。我的最爱之一是:https://github.com/hdodenhof/CircleImageView