10

मैंने डिज़ाइन लाइब्रेरी 23.0.2 के साथ नए BottomSheetBehaviour को आजमाया है, लेकिन मुझे लगता है कि यह बहुत सीमित है। जब मैं setState() विधि के साथ राज्य बदलता हूं, तो बोटमेट नई विज्ञापन में जाने के लिए विज्ञापन एनीमेशन का उपयोग करता है।एनीमेशन के बिना BottomSheetBehaviour सेटस्टेट

एनीमेशन के बिना मैं तुरंत राज्य कैसे बदल सकता हूं? मुझे ऐसा करने के लिए एक सार्वजनिक विधि नहीं दिख रही है।

+0

एंड्रॉइड जारीकर्ता पर संबंधित समस्या https://issuetracker.google.com/issues/62124243 –

उत्तर

1

दुर्भाग्य से ऐसा लगता है कि आप नहीं कर सकते हैं। BottomSheetBehavior का setState का स्थानांतरण startSettlingAnimation(child, state) की तुल्यकालिक या असीमित कॉल के साथ समाप्त होता है। और इन विधियों के व्यवहार को ओवरराइड करने का कोई तरीका नहीं है setState अंतिम है और startSettlingAnimation में पैकेज दृश्यमान संशोधक है। अधिक जानकारी के लिए स्रोतों की जांच करें।

मैं एक ही समस्याएं आ रही हैं, लेकिन थोड़ा अलग तरीके से - मेरी यूआई राज्य गलत पर setHideable में परिवर्तन से पहले कि निपटाने एनीमेशन का आह्वान, तो मैं IllegalStateException वहाँ हो रही है। मैं इसे ठीक से प्रबंधित करने के लिए BottomSheetCallback का उपयोग करने पर विचार करूंगा।

+0

जब मैं विस्तारित करने के लिए setState() को कॉल करता हूं, तो मुझे एनीमेशन मिलता है, लेकिन मुझे इसे STATE_COLLAPSED के लिए नहीं मिलता है। यह मेरे लिए बहुत भ्रमित है। – fobbymaster

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