(このトピックは.setfillafter(true)に関するものではありません)。
私はアンドロイドのアニメーションに少し問題がありました、そして誰かがこれで私を助けてくれることを願っています。
リニアレイアウトとリストビューを作成しました。
他のlinearLayoutのtranslationYを同じ相対レイアウトに設定する必要があったため、listViewは相対レイアウトに配置されましたが、他のlinearlayoutは質問から除外されています。
リニアレイアウト(ボタンのように機能します)の誰かclicks or taps
が、リストビューを次の行で少し下向きにアニメーション化します。
animation_Fold = new TranslateAnimation(0, 0, 0, 150);
createNewAnimationListener(); //to monitor when the animation ends and starts.
animation_Fold.setDuration(300);
animation_Fold.setFillAfter(true);
listview_Contacts.startAnimation(animation_Fold);
ご覧のとおり、アニメーションを作成すると、150(ピクセル?)下に移動します。
リストビューを元の位置にアニメーション化するためのコードがもう少しありますが、これはこの質問とは無関係だと思います。(実質的に同じですが、fromYDeltaとtoYDeltaが逆になります。)
アニメーション化した後でリストビューをクリックすると(どこをクリックしてもかまいません)、元の位置に戻ります。しかし、私は使用.setFillAfter(true)
しました、それで、なぜこれが私に起こっているのですか?リストビューに新しい指定された位置を保持させたいだけだからです。(アニメーションの位置)
私はこれで立ち往生しているので、誰かが私のアニメーションを完成させるためにこれを手伝ってくれることを願っています。