スライドアップ/ダウンアニメーションでビューを表示/非表示にする 質問する

スライドアップ/ダウンアニメーションでビューを表示/非表示にする 質問する

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の表示を に設定できるように を設定します。ViewGONE

view.animate()
    .translationY(0)
    .alpha(0.0f)
    .setListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
            view.setVisibility(View.GONE);
        }
    });

おすすめ記事