1

我想做一些事情,但不知道怎么做……那是一个从屏幕底部滑动到某个位置的按钮,由某些东西触发。与小吃店的显示方式非常相似,不同之处在于它会保持原位而不是消失,并且具有“可点击”的属性。这不是一个可从底部拖动的面板,而是一个由某些东西自动触发的滑动面板。

我怎样才能做到这一点?

4

2 回答 2

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();

}
于 2016-01-04T19:55:10.113 回答
0

将视图向下滑动一段距离:

view.animate().translationY(distance);

您可以稍后将视图滑回其原始位置,如下所示:

view.animate().translationY(0);
于 2017-03-24T14:12:46.350 回答