13

Próbuję animować android.support.design.widget.FloatingActionButton przypięty do mojego AppBarLayout. Mogę ustawić go dobrze w układzie xml i pokazuje się dobrze. Jednak robię Przejście elementów współdzielonych do tego układu, a FAB jest wyświetlany przed ustawieniem widoku. Próbowałem ustawić widoczność na GONE i INVISIBLE, ale wydaje się, że są one pomijane, jeśli layout_anchor jest ustawiony w układzie xml. Czy tak jest w pobliżu?Ustawianie layout_anchor w czasie wykonywania na FloatingActionButton

Chciałbym, aby działanie zostało załadowane z przejściem elementu współdzielonego, a następnie znikną w moim FAB. Po prostu nie mogę ukryć FAB pod obciążeniem. Mogłem to zrobić bez użycia layout_anchor, ale wolę zachować to, jeśli to możliwe.

Odpowiedz

29

Jeśli masz super z atrybutem w app:layout_anchor, a chcesz ustawić widoczność należy użyć coś takiego:

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

Jeśli chcesz ustawić app:layout_anchor dinamically można użyć tego samego kodu :

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

To wygląda bardzo obiecująco. A co z ustawieniem layout_anchorGravity w ten sposób? – Bignadad

+0

Mogę opuścić layout_anchorGravity w układzie xml i po prostu ustawić identyfikator zakotwiczenia, tak jak wspomniałeś powyżej. To jest świetne! Dzięki – Bignadad

+0

To działa dynamicznie ustawiając kotwicę, ale nie rozwiązuje problemu z przeniesieniem elementu współużytkowanego wspomnianego [w tym pytaniu] (https://stackoverflow.com/questions/31804170/android-shared-element-transition-between- dwa działania-nie-działa). Ustawienie kotwicy jest tym, co wydaje się zepsuć animację. Bez ustawiania kotwicy animacje wydają się działać dobrze. –

Powiązane problemy