Então, alguém sabe como exibir uma imagem com cantos arredondados com o Glide? Estou carregando uma imagem com o Glide, mas não sei como passar parâmetros arredondados para esta biblioteca.
Eu preciso exibir a imagem como no exemplo a seguir:
android
android-glide
mr.boyfox
fonte
fonte
Respostas:
Glide V4:
Glide V3:
Você pode usar
RoundedBitmapDrawable
para imagens circulares com Glide. Nenhum ImageView personalizado é necessário.fonte
.centerCrop()
você provavelmente quer dizer.circleCrop()
Confira este post, glide vs picasso ...
Editar : o post vinculado não indica uma diferença importante nas bibliotecas. Glide faz a reciclagem automaticamente. Veja o comentário de TWiStErRob para mais.
fonte
public String getId()
a maneira mostrada no código, pois retorna o mesmo ID para todas as imagens e, portanto, pode acontecer que o glide defina imagens arredondadas antigas, enquanto que sem transformações, ele definirá a imagem correta! Eu não sei como o glide funciona, mas parece que ele armazena em cache as transformações das imagens (para evitar cálculos difíceis, presumo). E o id é usado como o id da imagem transformada. Eu adicionei um URL de imagem ao construtor e fiz o método mencionado retornando a identificação resultante, como:this.id = String.format("%s:%s",this.getClass().getSimpleName(),id);
A maneira mais fácil (requer Glide 4.xx)
fonte
.apply()
vai depois.load()
.Tente desta maneira
código
XML
all_circle_white_bg.xml
fonte
é muito simples, eu vi a biblioteca Glide, sua muito boa biblioteca e redação na biblioteca do Google
use esta biblioteca para visualização de imagem arredondada
https://github.com/hdodenhof/CircleImageView
agora
// Para uma visão simples:
// Para uma lista:
e em XML
fonte
As outras soluções não funcionaram para mim. Descobri que todos eles têm desvantagens significativas:
É realmente interessante que, depois de me atrapalhar com isso, encontrei a página da biblioteca Fresco sobre cantos arredondados e círculos nos quais eles listam basicamente as mesmas limitações e concluem com a declaração:
Inacreditável que ainda não tenhamos uma solução real. Eu tenho uma solução alternativa com base no link que eu coloquei acima. A desvantagem dessa abordagem é que ela assume que seu plano de fundo é uma cor sólida (os cantos não são realmente transparentes). Você usaria assim:
A essência está aqui e o código completo aqui:
fonte
Agora, no Glide V4, você pode usar diretamente o CircleCrop ()
Tipos incorporados
fonte
Use essa transformação, ela funcionará bem.
fonte
Para Glide 4.xx
usar
do doc afirmou que
fonte
De acordo com esta resposta, a maneira mais fácil nos dois idiomas é:
Kotlin:
Java:
Isso funciona no Glide 4.XX
fonte
A resposta de Roman Samoylenko estava correta, exceto que a função foi alterada. A resposta correta é
fonte
Encontrei uma solução fácil e simples para adicionar borda sobre visualização de imagem na qual a cor deseja definir ou adicionar gradiente sobre a imagem.
PASSOS:
imgPlaceHolder
, você precisa de uma imagem ou cor branca que deseja definir.Depois de colocar esse código no arquivo xml, coloque a linha abaixo no arquivo java.
Isso tornará a borda da visualização de imagem simplesmente sem preenchimento e margem extras.
NOTA : A imagem em branco é obrigatória para borda, caso contrário não funcionará.
Happy codding :)
fonte
Com a biblioteca glide, você pode usar este código:
fonte
Eu estava procurando por ele antes e fiz da maneira mais fácil, espero que você goste disso.
CircleTransform.java
fade_in.xml para desaparecer na animação.
finalmente para chamar esse método.
fonte
Você pode simplesmente chamar o construtor RoundedCornersTransformation, que possui a entrada cornerType enum. Como isso:
mas primeiro você precisa adicionar Glide Transformations ao seu projeto.
fonte
Aqui está uma maneira mais modular e mais limpa de circular o seu bitmap no Glide:
BitmapTransformation
e substituindo otransform
método como este:Para Glide 4.xx
Para Glide 3.xx
Espero que isto ajude :)
fonte
fonte
fonte
Cortar em círculo + espaço reservado + crossfade
fonte
Glide versão 4.6.1
fonte
Nesse caso, preciso adicionar sombras e a elevação do imageView não está funcionando
implementação "com.github.bumptech.glide: glide: 4.10.0"
XML
Forma desenhável
Configuração Glide
fonte
Você precisa usar CircularImageView para exibir esse tipo de imagem ...
Você está usando a biblioteca Glide, que costumava carregar imagens.
Crie um ClassFile em seu projeto e carregue-o no Imageview ... e você obterá o resultado desejado ...
Tente seguir o código ...
XML
CircularImageView.java
Nota :
Você pode usar
ou
isso não afetará suas outras bibliotecas ... não precisa alterar seu código para baixar imagens ou qualquer outra coisa ... simplesmente pode ser definido usando XML também ..
fonte