私は自分のアプリケーションにチャットヘッドを実装しようとしています。私はすべての作業を得ることができた、onClickカスタムレイアウトは、webviewといくつかのボタンを持つ相対レイアウトです開く。チャットヘッドは、クリックして同時に定義されたレイアウトを開くと、右上に移動します。 私が直面している唯一の問題は、チャットヘッドの翻訳です。右上隅に移動すると、アニメーションが与えられていないのでスムーズに移動しません。 私はmwthodを探して、私が使ったValueAnimatorを見つけました。windowmanager浮動レイアウトをアニメーションで斜めに翻訳するには? (ChatHeadクリックアニメーション)
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のchatheadはonClickのをどのように反応するかに斜めに類似した翻訳したいです。
どのように対角線上で翻訳できますか?また、windowManager.addView()でgrowアニメーションを適用するにはどうすればよいですか?
ありがとうございます!