Создание кнопки "скользить снизу" (аналог закусочной) (Android)

Есть кое-что, что я хочу сделать, но не знаю как... это будет кнопка, которая скользит от нижней части экрана к определенной позиции, вызванной чем-то. Очень похоже на то, как показывают закусочную, с той разницей, что она остается на месте, а не исчезает и обладает свойством "кликабельности". Это не будет панель, которую можно перетаскивать снизу, а панель, которая скользит автоматически, что-то срабатывает.

Как я могу сделать это?

2 ответа

Решение

Звучит как довольно простая анимация вдоль y ось, с начальным значением, соответствующим высоте экрана (так, чтобы оно отображалось только вне экрана), до конечного значения. Ниже код из памяти, но он должен работать.

Чтобы получить высоту экрана:

int getScreenHeight() {

    DisplayMetrics displaymetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
    return displaymetrics.heightPixels;

}

А для анимации вида (в данном случае до 80% от общей высоты экрана):

void animateOnScreen(View view) {

    final int screenHeight = getScreenHeight();
    ObjectAnimator animator = ObjectAnimator.ofFloat(view, "y", screenHeight, (screenHeight * 0.8F));
    animator.setInterpolator(new DecelerateInterpolator());
    animator.start();

}

Скольжение вида вниз на расстояние:

view.animate().translationY(distance);

Позже вы можете сдвинуть вид обратно в исходное положение, например так:

view.animate().translationY(0);
Другие вопросы по тегам