Um ImageView circular rápido, perfeito para imagens de perfil. Isso é baseado no RoundedImageView de Vince Mi, que é baseado em técnicas recomendadas por Romain Guy.
Ele usa um BitmapShader e não :
Como este é apenas um ImageView personalizado e não um Drawable personalizado ou uma combinação de ambos, ele pode ser usado com todos os tipos de drawables, ou seja, um PicassoDrawable de Picasso ou outros drawables não padrão (embora precise de alguns testes).
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
não é suportada, pois requer um ScaleType não suportadonoFade()
, para Glide use dontAnimate()
. Se quiser manter a animação fadeIn, você deve buscar a imagem em um Target
e aplicar você mesmo uma animação personalizada ao receber o Bitmap
.TransitionDrawable
com CircleImageView
não funciona corretamente e leva a imagens confusas. Como posso usar um VectorDrawable
com CircleImageView
?
Resposta curta: você não deveria. Usar um VectorDrawable
com CircleImageView
é muito ineficiente. Você deve modificar seus vetores para que tenham uma forma circular e usá-los com um ImageView normal.
Por que CircleImageView
não estende AppCompatImageView
?
Estender AppCompatImageView
exigiria a adição de uma dependência de tempo de execução para a biblioteca de suporte sem nenhum benefício real.
Como posso adicionar um seletor (por exemplo, efeito cascata) vinculado a um círculo?
Atualmente não há suporte direto para um seletor circular, mas você pode seguir estas etapas para implementá-lo sozinho.
Como posso adicionar um espaço entre a imagem e a borda?
Adicionar uma lacuna também não é suportado diretamente, mas há uma solução alternativa.
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.