API 11 で利用可能なこれらの関数を使用できます
((TextView)findViewById(R.id.textView)).setTranslationX(200);
((TextView)findViewById(R.id.textView)).setTranslationY(300);
更新
このコード サンプル コードを試してください。
final TextView tv = (TextView)findViewById(R.id.textView);
new Timer().schedule(new TimerTask() {
@Override
public void run() {
MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
tv.setTranslationX(tv.getTranslationX()+10);
tv.setTranslationY(tv.getTranslationY()+10);
tv.invalidate();
}
});
}
}, 1000 , 1000);
tv.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Clicked!", Toast.LENGTH_SHORT).show();
}
});
アップデート
あなたが写真に示したものを実装するため。これを実装するための簡単な説明は次のとおりです
各ビューのパス配列 (ポイントの 2D 配列) を作成します。
ビューは移動します
必要に応じて、繰り返し間隔が 100 ミリ秒以下の各ビューのタイマーを作成します。
これらのタイマーでは、そのパス配列からポイントを取得し、それをビューに渡します。
その道を永遠にループするということは、循環することを意味します。
onClck()
そのビューのリスナーを設定します。
そのリスナーで、そのビューに対応するタイマーを cancel() し、そのビューを破棄するか、可視性を GONE に設定します。
これを実装することで、このタスクを簡単に実行できます。