web-dev-qa-db-ja.com

FloatingActionButtonで実行時にlayout_anchorを設定します

AppBarLayoutに固定されているAndroid.support.design.widget.FloatingActionButtonをアニメーション化しようとしています。レイアウトxml内でうまく設定でき、うまく表示されます。ただし、このレイアウトへの共有要素の移行を行っており、ビューが設定される前にFABが表示されます。可視性をGONEとINVISIBLEに設定しようとしましたが、layout_anchorがlayoutxmlで設定されている場合は無視されているようです。とにかくこれの周りにありますか?

アクティビティを共有要素の遷移とともにロードしてから、FABでフェードインしたいと思います。ロード時にFABを非表示にすることはできません。 layout_anchorを使用せずにそれを行うこともできますが、可能であればそれを維持することを好みます。

16
Bignadad

app:layout_anchor属性を持つFABがあり、可視性を設定する場合は、次のようなものを使用する必要があります。

CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) fab.getLayoutParams();
params.setAnchorId(View.NO_ID);
fab.setLayoutParams(params);
fab.setVisibility(View.GONE);

app:layout_anchorを動的に設定する場合は、同じコードを使用できます。

CoordinatorLayout.LayoutParams p = (CoordinatorLayout.LayoutParams) fab.getLayoutParams();
p.setAnchorId(xxxx);
fab.setLayoutParams(p);
35