我想做的事情却不知道如何......这将是一个从屏幕底部滑动到某个位置的按钮,由某些东西触发。非常类似于snackbar显示的方式,区别在于它保持原位而不是消失并且具有“可点击”的特性。这不是一个可从底部拖动的面板,而是一个由某些东西自动滑动的面板。
我该如何做到这一点?
答案 0 :(得分: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();
}
答案 1 :(得分:0)
将视图向下滑动一段距离:
view.animate().translationY(distance);
您可以稍后将View滑回原来的位置,如下所示:
view.animate().translationY(0);