Androidのアニメーションのレイアウトとビュー

Mointy:

私が持っているConstraintLayout一番下のナビゲーションと画面の残りの部分を占めるフラグメントコンテナと。私が欲しいのは、プログラムの追加/ナビゲーションとアニメーションでフラグメントコンテナ間のビューを削除することです。

私は、新しいビューを追加し、アニメーション化するには、このコードを持っています:

//Adding the view to the main layout
ConstraintLayout layout = findViewById(R.id.ConstraintLayout);
getLayoutInflater().inflate(R.layout.newView, layout);

//Start animation immediately with a library
YoYo.with(Techniques.SlideInUp).duration(800).playOn(findViewById(R.id.newView));

今、上記のコードは私のために、固体は見えません。私はより良い方法を見つけるしたいと思いますが、今のところ、それは動作します。

新しいビューを追加した後、私は新しいビューの上部にナビゲーションの最上部からのフラグメントコンテナの制約を変更します。断片コンテナのサイズはそれほど制約を変更することにより、それが今少し小さくなり、match_constrainstするように設定されています。

    ConstraintSet constraintSet = new ConstraintSet();
    constraintSet.clone(layout);
    constraintSet.connect(R.id.fragment_container,ConstraintSet.BOTTOM,R.id.newViewWrapper,ConstraintSet.TOP,0);
    constraintSet.applyTo(layout);

私は何を管理していなかったことは、フラグメントコンテナのサイズ変更をアニメーション化することです。そして、全体的に私はアンドロイドにアニメーションで働いたことはありません。

アンドロイドでビューやレイアウトをアニメーションのよりよいまたはベストプラクティスの方法はありますか、それを行うことができますライブラリはありますか?

伝説バード:

あなたが使用している場合Constraintlayoutよりも、あなたは使用することができTransitionManager、あなたのレイアウトのアニメーションのために。基本的なセットアップは、このようなものです:

TransitionManager.beginDelayedTransition(layout);

それは自動的にビュー/制約のサイズを変更するたとえば、あなた一度レイアウトをアニメーション化します。

制約を変更するには、使用することができますConstraintSet

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=374111&siteId=1