0
ViewDragHelperを使用してappBarをアニメーション化しようとしています。Android - ビューをアニメーション化して実際の位置を変更する(別のビューはビヘイビアの依存関係に従う)
上に、別のビュー(ピンクはthe example)があります。これは、私のAppbarに動作に従う(トップビューはAppBarLayoutに依存します)。
「実際」の位置は変更されず、明らかにトップフレームは動きません。私は他の多くのアニメーションを試してみた
@Override
public void onViewReleased(final View releasedChild, float xvel, float yvel) {
super.onViewReleased(releasedChild, xvel, yvel);
if (releasedChild.getTop() > childHeight) {
Log.e("TAG", "SHOULD SCROLL " + releasedChild.getTop() + " > " + childHeight);
final int offset = height - releasedChild.getTop() - 100;
ViewCompat.animate(releasedChild).translationY(offset).setDuration(1000).setInterpolator(new OvershootInterpolator()).start();
} else {
Log.e("TAG", "SHOULD NOT SCROLL " + releasedChild.getTop() + " < " + childHeight);
eleasedChild.offsetTopAndBottom(-releasedChild.getTop());
}
if (mDragFrameLayoutController != null) {
mDragFrameLayoutController.onDragDrop(false);
}
}
:
TranslateAnimation scale = new TranslateAnimation(0.0f, 0.0f, 0.f, offset);
scale.setInterpolator(new OvershootInterpolator());
scale.setDuration(3000L);
scale.setFillEnabled(true);
scale.setFillAfter(true);
scale.setAnimationListener(new Animation.AnimationListener() {
または
ObjectAnimator moveY = ObjectAnimator.ofInt(releasedChild, "y", releasedChild.getTop(), offset);
AnimatorSet as = new AnimatorSet();
as.play(moveY);
as.start();
これらのすべてのスニペットは私を与える、私は次のコードを使用しアニメーション化するためには
同じ結果。
私はオフセット使用しているビューを移動したが、これはそれだけ下に移動し、アニメーション化しない唯一の方法...
releasedChild.offsetTopAndBottom(offset);
任意のアイデア?ありがとう。