Создание кнопки "скользить снизу" (аналог закусочной) (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);