13

AppBarLayout'uma sabitlenmiş bir android.support.design.widget.FloatingActionButton öğesini canlandırmaya çalışıyorum. Düzeni xml içinde ayarlayabilirim ve iyi görünüyor. Ancak bu yerleşime bir Paylaşılan Öğe Geçişi yapıyorum ve görünüm ayarlanmadan önce FAB gösteriliyor. Görünürlüğü GONE ve INVISIBLE olarak ayarlamaya çalıştım ancak layout_anchor düzeni xml olarak ayarlanmışsa göz ardı ediliyor gibi görünüyorlar. Bunun etrafında zaten var mı?LayoutActionButton üzerinde çalışma zamanında layout_anchor öğesini ayarlama

Etkinliğin paylaşılan öğe geçişiyle yüklenmesini ve ardından FAB'mda kaybolmasını istiyorum. Yüklemede FAB'ı gizleyemiyorum. Layout_anchor kullanmadan yapabilirdim, ancak mümkünse bunu yapmayı tercih ederim.

cevap

29

Eğer app:layout_anchor özelliğiyle bir FAB varsa ve görünürlük böyle bir şey kullanmalısınız ayarlamak istiyorsanız: Eğer dinamically aynı kodu kullanabilirsiniz app:layout_anchor ayarlamak istiyorsanız

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

:

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

Bu çok umut verici görünüyor. Layout_anchorGravity'yi bu şekilde ayarlamaya ne dersiniz? – Bignadad

+0

layout_anchorGravity öğesini xml düzeninde bırakabilirim ve yukarıda söylediğim gibi ankraj kimliğini ayarlayabilirim. Bu harika! Teşekkürler – Bignadad

+0

Bu ankrajın dinamik olarak ayarlanması için çalışır, ancak [bu soruda] belirtilen paylaşılan öğe geçiş problemini çözmez (https://stackoverflow.com/questions/31804170/android-shared-element-transition-between- iki faaliyetler-does-not-iş). Ankrajı ayarlamak, animasyonu bozguna uğratıyor. Herhangi bir bağlantı belirlemeden, animasyonlar iyi çalışıyor gibi görünüyor. –

İlgili konular