Как перевести кнопку из ее относительного положения в нижнюю часть экрана?

#android

#Android

Вопрос:

Я хотел бы перевести кнопку из ее относительного положения в нижнюю часть экрана.

Я выполняю TranslateAnimation с использованием Java-кода.

Ниже приведен фрагмент кода того, что я уже сделал:

 Display display = getWindowManager().getDefaultDisplay();
int screenHeight = display.getHeight();
translateButtonAnimation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, Animation.RELATIVE_TO_SELF, Animation.RELATIVE_TO_SELF, height);
  

В результате кнопка вылетает за пределы экрана эмулятора !! : (

Заранее спасибо за вашу помощь.

Ответ №1:

Вы могли бы попробовать что-то вроде этого:

 Animation toBottom =
    new TranslateAnimation(
            Animation.RELATIVE_TO_PARENT, x, 
            Animation.RELATIVE_TO_PARENT, 0.0f,
            Animation.RELATIVE_TO_PARENT, -1.0f, 
            Animation.RELATIVE_TO_PARENT, 0.0f);
toBottom.setDuration(350);
toBottom.setInterpolator(new AccelerateInterpolator());
  

чтобы убедиться, что она находится в конце вашего экрана.
x и y обозначают текущее положение вашего Button .

Комментарии:

1. Тогда, пожалуйста, предоставьте свой исходный макет с точным описанием перевода, которое вы хотите, и не давайте нам гадать, что у вас, возможно, уже есть, и что вы собираетесь делать (поскольку этот код, а также @Kevin’s, также функциональны в простом RelativeLayout виде). Спасибо!

Ответ №2:

таким образом вы можете избежать переноса кнопки за пределы экрана (код peseudo):

 traslation= screenheight-(actualButtonposition.y)

translateButtonAnimation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, Animation.RELATIVE_TO_SELF, Animation.RELATIVE_TO_SELF, height);