フラグメントコンテナにリストビューがあります。
リスト内の各ビューには、ジェスチャ検出器があり、ジェスチャを上げたときにリストの再描画を無効にします。
項目を選択した後、フラグメント コンテナーを画面の別の部分にアニメーション化します
ObjectAnimator x = ObjectAnimator.ofInt(ListLayout, "left", ListLayout.getLeft(), ListLayout.getLeft() - 336);
x.setDuration(500);
x.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
View ListLayout = findViewById(R.id.fragment_list_container);
Log.d(TAG, "ListLayout x after move completed = " + ListLayout.getLeft());
}
});
x.start();
ここまでは順調です。
ただし、リストから別のアイテムを選択すると (リストは今回は移動しないため、アニメーションは呼び出されません)、ジェスチャが検出され、リストが無効になったときに元の位置に戻りますか?
最初のアニメーション化された移動の前後に getLeft を実行すると、正しい位置が返されます。
感謝して受け取った助けや洞察、Slip