【发布时间】:2016-07-22 16:57:01
【问题描述】:
我正在尝试在我的应用程序中实现聊天头。我已经设法让一切正常工作,onClick 自定义布局打开,这是一个带有 web 视图和一些按钮的相对布局。当它同时点击打开定义的布局时,聊天头会移动到右上角。 现在我面临的唯一问题是聊天头翻译,当将它移动到右上角时,它不会顺利过渡,因为我没有给它任何动画,我不知道怎么做。 我搜索了一个 mwthod 并找到了我尝试使用的 ValueAnimator。
private ValueAnimator mMoveEdgeAnimator;
mParams.y = goalPositionY;
mMoveEdgeAnimator = ValueAnimator.ofInt(currentX, goalPositionX);
mMoveEdgeAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
mParams.x = (Integer) animation.getAnimatedValue();
mWindowManager.updateViewLayout(FloatingView.this, mParams);
}
});
mMoveEdgeAnimator.setDuration(MOVE_TO_EDGE_DURATION);
mMoveEdgeAnimator.setInterpolator(mMoveEdgeInterpolator);
mMoveEdgeAnimator.start();
但它仅适用于 X 或 Y 轴之一,在屏幕上看起来并不无缝,我希望它的对角转换类似于 facebook 聊天头对 onClick 的反应。
如何对角翻译?另外如何在 windowManager.addView() 上应用增长动画?
提前致谢!!
【问题讨论】:
标签: android animation android-animation android-windowmanager android-transitions