Я хочу добавить слушателя к кнопке, которая изменит положение этой кнопки. Я попытался решить проблему с помощью этого фрагмента, но не работает так, как я ожидал.Android: кнопка перехода не работает?
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int top = button.getTop();
button.setTop(top + 40);
}
});
Этот код просто перемещает верх, а не всю кнопку. Действительно, после действия click, кнопка становится высотой jsut несколько точек, и я не вижу ярлыка. Что не так?
Если это может помочь нам лучше понять мою проблему, я покажу вам другой метод:
private void addButton(String text) {
FrameLayout.LayoutParams layoutParams;
layoutParams = new FrameLayout.LayoutParams(
width,
lineHeightButton
);
layoutParams.leftMargin = leftMargin;
layoutParams.topMargin = getNewTop(lineHeightButton);
final Button button = new Button(_mainActivity);
button.setText(text);
button.setLayoutParams(layoutParams);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int top = button.getTop();
button.setTop(top + 40);
}
});
_frameLayout.addView(button);
}
Исправлено:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FrameLayout.LayoutParams layoutParams;
layoutParams = new FrameLayout.LayoutParams(
button.getWidth(),
button.getHeight()
);
layoutParams.leftMargin = leftMargin;
layoutParams.topMargin = button.getTop() + 40;
button.setLayoutParams(layoutParams);
}
});