Como mover uma vista no Android?

Eu tenho um projeto onde tenho dois desafios:

Primeiro:

Mova um ícone para onde o dedo tocar a tela:

Para isso, a melhor abordagem que encontrei é usar.layout() método na vista.

Segundo:

Eu tenho dois layouts, em umEsquema relativo, ambos com largura e altura da tela (1 está oculto atrás do outro). Eu quero mover o acima alguns mergulhos para a direita toda vez que eu clico em um botão.

Existe uma maneira melhor de mover visualizações no Android?

Quais poderiam ser as desvantagens de usar o método.layout() ?

public void layout (int l, int t, int r, int b) 
Since: API Level 1 
Assign a size and position to a view and all of its descendants 

Parameters:
l  Left position, relative to parent 
t  Top position, relative to parent 
r  Right position, relative to parent 
b  Bottom position, relative to parent  

Desde já, obrigado.

questionAnswers(4)

yourAnswerToTheQuestion