LinearLayout
表示/非表示を切り替える がありAnimation
、その表示/非表示を切り替えるたびにレイアウトが上または下に移動します。
いくつかのサンプルを見てきましたが、どれも私のニーズに合いませんでした。
アニメーション用に 2 つの XML ファイルを作成しましたが、アニメーションの可視性を変更したときに、それらをどのように開始すればよいかわかりませんLinearLayout
。
ベストアンサー1
Android 3.0 (Honeycomb) で導入された新しいアニメーション API を使用すると、このようなアニメーションを作成するのは非常に簡単です。
View
距離だけ下にスライドします。
view.animate().translationY(distance);
後でView
次のようにして背面を元の位置までスライドさせることができます。
view.animate().translationY(0);
複数のアニメーションを簡単に組み合わせることもできます。次のアニメーションは、View
高さだけ下にスライドし、同時にフェードインします。
// Prepare the View for the animation
view.setVisibility(View.VISIBLE);
view.setAlpha(0.0f);
// Start the animation
view.animate()
.translationY(view.getHeight())
.alpha(1.0f)
.setListener(null);
その後、View
バックをフェードアウトして、元の位置にスライドさせることができます。また、アニメーションが終了したらバックAnimatorListener
の表示を に設定できるように を設定します。View
GONE
view.animate()
.translationY(0)
.alpha(0.0f)
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
view.setVisibility(View.GONE);
}
});