在FloatingActionButton上运行时设置layout_anchor

我正在尝试animation一个固定到我的AppBarLayout的android.support.design.widget.FloatingActionButton。 我可以在布局xml中设置好,它显示正常。 但是,我正在对此布局执行共享元素转换,并且在设置视图之前FAB正在显示。 我尝试将可见性设置为GONE和INVISIBLE但是如果layout_anchor在布局xml中设置,它们似乎被忽略了。 有没有办法解决?

我希望活动加载共享元素转换然后淡入我的FAB。 我只是无法在加载时隐藏FAB。 我可以在不使用layout_anchor的情况下完成它,但如果可能的话,我更愿意保留它。

如果您的FAB具有app:layout_anchor属性,并且您想要设置可见性,则应使用以下内容:

 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);