Botão "arrastável" android

O que eu quero fazer é muito simples: Um botão que pode ser arrastado livremente pelo Layout… E quando eu arrastar e soltar esse botão em determinada área do Layout, o programa faz uma ação, executa um método, etc…
Se possível eu gostaria que esse botão não fosse criado via xml.

alguém me indica o caminho? pesquisei e tentei fazer, mas sem sucesso…