私は、タイマーが1秒に達する前にユーザーがボタンを押すことを想定しているゲームを作っており、ユーザーがクリックするたびにボタンがランダムな位置に移動します。 開始時にボタンは中央に配置されますが、ゲームが終了すると明らかにランダムに配置されます。私はボタンを中央に戻してゲームを始めることができる再開ボタンを持っています。RelativeLayoutのプログラムによる再センターボタン
助けが必要ですか?
私は、タイマーが1秒に達する前にユーザーがボタンを押すことを想定しているゲームを作っており、ユーザーがクリックするたびにボタンがランダムな位置に移動します。 開始時にボタンは中央に配置されますが、ゲームが終了すると明らかにランダムに配置されます。私はボタンを中央に戻してゲームを始めることができる再開ボタンを持っています。RelativeLayoutのプログラムによる再センターボタン
助けが必要ですか?
View#setTranslationX() and View#setTranslationY()の方法またはView#setX() and View#setY()の方法を使用します。 View#setLayoutParams()
フレームワークを使用する代わりに、これらのプロパティメソッドを使用する方がはるかに簡単です。
View#setTranslationX/Y
は、画面上の現在の位置を基準に設定されたピクセル数のビューを移動します。したがって、view.setTranslationX(5)
は右に5ピクセル移動し、view.setTranslationX(-5)
はそれを5ピクセル左に移動します。view.setTranslationY(5)
は5ピクセル下に移動し、view.setTranslationY(-5)
は5ピクセル上に移動します。 view.setTranslationX(0)
はそれをx軸の元の位置に戻し、view.setTranslationY(0)
はy軸上に戻します。
View#setX/Y()
メソッドは、ビューをビューの左上隅にピボットを置いて、親ビューの設定ポイントに移動します。したがって、view.setX(0)
はそれを親ビューの左側に移動し、view.setY(0)
は親ビューの上に移動します。ビューの幅と高さを取得して、ビューに配置する場所を決定できます。 view.getX()
とview.getY()
を使用して元の場所を取得できます。
setTranslationX(0)とsetTranslationY(0)は完全に機能しました。ありがとう! :D – FreeLine
どのようなコードがありますか?何を試しましたか? – Einar
私はボタンレイアウトのパラメータをcenterinparent、centerhorizontallyおよびcenterverticallyに設定しようとしました。 @Einar – FreeLine