16

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

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

4

1 回答 1

39

如果你有一个带有该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);
于 2015-07-23T20:40:02.250 回答