Como exibir paleta de cores no Android para o usúario

Tenho uma aplicação para android, chamada Calculadora Virtual
Ela dá opção ao usuario para escolher a cor dos botoes da calculadora, porém eu tive que criar imagens no photoshop para os botões, gostaria de exibir uma paleta de cores semelhante a esse aplicativo chamado Magic Color Pick.
Porém não faço idéia de como posso exibir esse circulo de cores para que o usúario escolha a sua cor.
Alguém tem alguma idéia de como posso começar ou pelo menos onde procurar?

Fazer em grade é mais facil, mas não é tão bonito que nem esse.

Em grade, voce poderia até usar uma matriz de LinearLayout e colocar um listener em cada um.

Que nem o Magic Color Picker, voce pode desenhar no Canvas de uma View, e ia precisar interpretar os eventos de toque depois.

Eu fiz um artigo para games que envolve Canvas, pode ser util http://pontov.com.br/site/android/247-android-desenhando-na-tela

Sobre como desenhar esse padrao na tela é algo que o ViniGodoy poderia dar uma luz.

Acho que consigo desenhar na view utilizando Canvas, pois eu ja consegui fazer isso antes enquanto tava estudando android, valeu pela idéia não tinha pensando nisso, mas ainda sim teria o problema de capturar o resultado, tanto utilizando um ‘barra’ com as cores ou um ‘círculo’, ambos desenhados com o canvas, eu não sei como capturar o clique do usuário.
Pois ele estaria passando sobre um objeto desenhado com canvas(eu saberia fazer se fosse um botão que estivesse sendo clicado, mas com canvas eu não sei como capturar esse ‘toque’ ou clique), alguma sugestão?

Então, sobre o “interpretar os eventos de toque”.

Voce pode colocar um onClickListener nele, que vai receber o MotionEvent, nele voce tem a posição de onde o usuario tocou.

Tendo o (x,y) do evento e sabendo as posições onde as caixas de cores foram desenhadas voce consegue “saber” que cor o usuario tocou.

Eu pesquisei um pouco na web e seria isso que eu teria q usar

ou seria algo mais relacionado ao exemplo desse link
Moving image

[quote=fabiobh]Eu pesquisei um pouco na web e seria isso que eu teria q usar

ou seria algo mais relacionado ao exemplo desse link
Moving image[/quote]

O exemplo de baixo é mais tranquilo de usar, porém se tiver de ser o de cimar, de onde vou tirar MotionEvent(nunca usei essa classe)