Eu tenho um ImageView
, no qual estou criando drawables de maneira programática e os apresentando ao usuário. Meu objetivo é clicar em dito ImageView
e mudar a cor do drawable.
Como eu faria sobre a mudança de cor aleatória? Atualmente, estou a mexer com Random()
, Color.argb()
e algumas outras coisas, mas eu não consigo fazê-lo funcionar!
para obter valores de cor aleatórios, você pode usar este método:
em seguida, aplique às suas opiniões:
fonte
Portanto, se você está procurando uma paleta de cores bonita, talvez não seja uma boa ideia usar valores totalmente aleatórios. Esta abordagem pode não produzir os melhores resultados. Sempre termina com uma seleção de cores semelhantes muito escuras ou muito claras.
Abordagem semi-aleatória:
Se você precisar de algumas cores frescas e brilhantes, use a seguinte classe simples, que escrevi anteriormente quando tive os mesmos problemas. É
semi-random
e usa uma paleta de cores predefinida:Abordagem aleatória:
Mas se você ainda está pensando em usar,
random approach
você pode querer usar esta única linha em vez de várias linhas de código:O objetivo de usar isso
(0xFF << 24)
é definir o valor alfa para o máximo que significa transparência zero.fonte
Eu conheci isso e este é o meu código, pode ajudar
fonte
fonte
Este é o meu código que usei em um aplicativo, pode ajudar.
Ele gera uma cor aleatória ao toque
fonte
fonte
Você pode usar ColorGenerator para escolher a cor aleatória
Se você deseja ter o mesmo código de cor específico para os mesmos nomes de usuário repetidos. você pode usar como abaixo
fonte
fonte
Solução mais precisa para este problema:
-Primeiro, adicione isso no gradle (app),
em seguida, compile e reconstrua o aplicativo.
- A segunda etapa é apenas usá-lo desta forma,
Link de referência:
fonte
No seu caso, você deve fazer como aqui, é um trabalho para mim
fonte
fonte
Em Kotlin:
fonte
Espero que as duas soluções a seguir possam ajudá-lo.
Existem duas maneiras de obter cores aleatórias programaticamente para definir como
view
1. Primeira solução
2.Segunda Solução
fonte