CircleImageView
1.0.0
快速的圆形 ImageView,非常适合个人资料图像。这是基于 Vince Mi 的 RoundedImageView,它本身基于 Romain Guy 推荐的技术。
它使用 BitmapShader,但不:
由于这只是一个自定义 ImageView 而不是自定义 Drawable 或两者的组合,因此它可以与所有类型的可绘制对象一起使用,即来自 Picasso 的 PicassoDrawable 或其他非标准可绘制对象(但需要一些测试)。
dependencies {
...
implementation 'de.hdodenhof:circleimageview:3.1.0'
}
< 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 " />
adjustViewBounds
,因为这需要不受支持的 ScaleTypenoFade()
选项,对于 Glide 使用dontAnimate()
。如果您想保留淡入动画,则必须将图像提取到Target
中,并在接收Bitmap
时自行应用自定义动画。TransitionDrawable
与CircleImageView
一起使用无法正常工作并导致图像混乱。 如何将VectorDrawable
与CircleImageView
一起使用?
简短的回答:你不应该。将VectorDrawable
与CircleImageView
一起使用的效率非常低。您应该将矢量修改为圆形,并将它们与常规 ImageView 一起使用。
为什么CircleImageView
不扩展AppCompatImageView
?
扩展AppCompatImageView
需要添加支持库的运行时依赖项,但没有任何实际好处。
如何添加绑定到圆圈的选择器(例如波纹效果)?
目前没有对圆形绑定选择器的直接支持,但您可以按照以下步骤自行实现。
如何在图像和边框之间添加间隙?
也不直接支持添加间隙,但有一个解决方法。
Copyright 2014 - 2020 Henning Dodenhof
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.