13

मैं एक android.support.design.widget.FloatingActionButton को एनिमेट करने का प्रयास कर रहा हूं जो मेरे ऐपबारलाउट पर पिन किया गया है। मैं लेआउट xml के भीतर इसे ठीक कर सकता हूं और यह ठीक दिखता है। हालांकि मैं इस लेआउट में साझा एलिमेंट ट्रांज़िशन कर रहा हूं और दृश्य सेट होने से पहले एफएबी दिखा रहा है। मैंने दृश्यता को अविश्वसनीय रूप से सेट करने की कोशिश की लेकिन लेआउट_ंचर लेआउट xml में सेट होने पर उन्हें उपेक्षा किया जाता है। क्या इसके आसपास वैसे भी है?फ़्लोटिंगएक्शन बटन पर रनटाइम पर layout_anchor सेट करें

मैं गतिविधि को साझा तत्व संक्रमण के साथ लोड करना चाहता हूं, फिर मेरे एफएबी में फीका। मैं बस लोड पर एफएबी छुपा नहीं सकता। मैं layout_anchor का उपयोग किए बिना ऐसा कर सकता हूं लेकिन यदि संभव हो तो इसे रखना पसंद करते हैं।

उत्तर

29

आप app:layout_anchor विशेषता के साथ एक फैब है, और आप स्थापित करने के लिए दृश्यता आप कुछ इस तरह का उपयोग करना चाहिए चाहते हैं: आप app:layout_anchor स्थापित करने के लिए dinamically आप एक ही कोड का उपयोग कर सकते हैं

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

यह बहुत ही आशाजनक लग रहा है। इस तरह से layout_anchorGravity सेट करने के बारे में क्या? – Bignadad

+0

मैं लेआउट xanchor में लेआउट_ंचर ग्रेविटी छोड़ सकता हूं और ऊपर बताए गए एंकर आईडी को बस सेट कर सकता हूं। यह भी खूब रही! धन्यवाद – Bignadad

+0

यह एंकर गतिशील रूप से सेट करने के लिए काम करता है, हालांकि यह इस तत्व में साझा किए गए साझा तत्व संक्रमण समस्या को हल नहीं करता है (https://stackoverflow.com/questions/31804170/android-shared-element-transition-between- दो गतिविधियों करता है-नहीं-काम)। एन्कर सेट करना एनीमेशन को बोर्क लगता है। किसी एंकर को सेट किए बिना, एनिमेशन ठीक काम करने लगते हैं। –

संबंधित मुद्दे