15

5 つの異なるフラグメントを持つ TabLayout を使用しています。これらのフラグメントのうち 3 つに aandroid.support.design.widget.FloatingActionButtonが表示されます。現在、タブが変更されたときに FAB の可視性を設定するだけですが、FAB が出入りするアニメーションが必要です。Androidでこれを達成するにはどうすればよいですか?

4

5 に答える 5

28

縮小/ポップの非表示/表示アニメーションは、サポート ライブラリの新しいバージョンによって自動的に処理されます。(22.2.1) 次に、OnTabChange リスナーは、新しいライブラリによって提供される表示/非表示メソッドを使用して、フローティング アクション ボタンを表示または非表示にします。

fab.show(); または fab.hide();

于 2015-08-16T20:09:03.443 に答える
13

デザイン サポート ライブラリ リビジョン 22.2.1 (2015 年 7 月) では、クラスに メソッドhide()show()メソッドが追加されたFloatingActionButtonため、これらを使用できるようになりました。

http://developer.android.com/tools/support-library/index.html

于 2015-08-07T12:19:38.563 に答える
1

最も簡単な方法は、FloatingActionButton クラスを拡張してsetVisibilityをオーバーライドすることです。このような:

public void setVisibility(final int visibility) {
    if (getVisibility() != View.VISIBLE && visibility == View.VISIBLE && inAnim != null) {
        animator = // create your animator here
        super.setVisibility(visibility);
    } else if (getVisibility() == View.VISIBLE && visibility != View.VISIBLE) {
        AnimatorListenerAdapter listener = new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animator) {
                Button.super.setVisibility(visibility);
            }
        });
        animator = // create your animator here
        animator.addListener(listener);
    }
}

上記のコードは、私のライブラリの Button クラスから取得したものです。サンプルの実装はソースにあります。

于 2015-05-31T10:02:22.927 に答える