Изменение положения кнопки - PullRequest
7 голосов
/ 13 апреля 2011

У меня есть одна кнопка в AbsoluteLayout в файле XML. Оттуда я могу установить (x, y) положение кнопки.

Как получить и установить координаты (x, y) кнопки программно?

Спасибо всем.

Ответы [ 4 ]

10 голосов
/ 13 апреля 2011

Вы должны получить ссылку на свою кнопку, например, вызвав findViewById () .Когда вы получили ссылку на кнопку, вы можете установить значение x и y с помощью кнопки. setX () и кнопка. setY () .

....
Button myButton = (Button) findViewById(R.id.<id of the button in the layout xml file>);
myButton.setX(<x value>);
myButton.setY(<y value>);
....
5 голосов
/ 13 апреля 2011

Ответ, который вы ищете, находится в LayoutParams.Во-первых, я бы предложил , а не , используя AbsoluteLayout - это устарело - и используя что-то еще, возможно, 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));
0 голосов
/ 13 апреля 2011

Попробуйте использовать метод компоновки вида: http://developer.android.com/reference/android/view/View.html#layout(int,%20int,%20int,%20int)

0 голосов
/ 13 апреля 2011

хммм, ты можешь попробовать это. , , Существует ли простой способ добавить границы сверху и снизу представления Android? Просто иди бросил этот сайт, вы получите решение. Если нет, то ответь мне. И если это поможет вам, тогда дайте мне голос. Спасибо.

...