web-dev-qa-db-ja.com

ボタンの位置を変更する

XMLファイルのAbsoluteLayoutにボタンが1つあります。そこから、ボタンの(x、y)位置を設定できます。

ボタンの(x、y)座標をプログラムで取得および設定するにはどうすればよいですか?

皆さんありがとう。

8
WISH

たとえば、 findViewById() を呼び出すことにより、ボタンへの参照を取得する必要があります。ボタンへの参照を取得したら、buttonを使用してx値とy値を設定できます。 setX() およびbutton . setY()

....
Button myButton = (Button) findViewById(R.id.<id of the button in the layout xml file>);
myButton.setX(<x value>);
myButton.setY(<y value>);
....
9
Flo

あなたが探している答えは LayoutParams にあります。まず、notAbsoluteLayoutを使用することをお勧めします-これは非推奨です-そして他の何か、おそらくFrameLayoutを使用し、左右の余白を使用するだけですxおよびyオフセットとして。

しかし、あなたの質問に答えるために:

Button button = (Button)findViewById(R.id.my_button);
AbsoluteLayout.LayoutParams absParams = 
    (AbsoluteLayout.LayoutParams)button.getLayoutParams();
absParams.x = myNewX;
absParams.y = myNewY;
button.setLayoutParams(absParams);

または代わりに:

Button button = (Button)findViewById(R.id.my_button);
button.setLayoutParams(new AbsoluteLayout.LayoutParams(
    AbsoluteLayout.LayoutParams.FILL_PARENT, AbsoluteLayout.LayoutParams,
    myNewX, myNewY));
5
Kevin Coppock

うーん、これを試すことができます。 。 。 Android表示? の上下に境界線を追加する簡単な方法はありますか?)==このサイトを投げるだけでソリューションが得られます。そうでない場合は返信してください。そして、それが助けになれば、私に投票してください。ありがとう。

0
user644458
0
thoredge