2016-09-14 6 views
5

मेरे पास इसकी ऊंचाई और चौड़ाई के साथ नीचे की शीट है match_parent पर। तो जब बटन पर क्लिक करें मैं STATE_EXPANDED इस तरह के व्यवहार को सेट करें:नीचे की शीट व्यवहार को समझना छिपी हुई छिपी हुई

mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); 

मेरे Bottomsheet नीचे के रूप में परिभाषित किया गया है:

<FrameLayout 
     android:id="@+id/bottom_sheet" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:clickable="true" 
     android:elevation="@dimen/design_appbar_elevation" 
     app:behavior_hideable="true" 
     app:layout_behavior="@string/bottom_sheet_behavior"> 

     <include 
      android:id="@+id/bottom_sheet_content" 
      layout="@layout/bottomsheet_layout" /> 

    </FrameLayout> 

मैं BottomSheet कॉलबैक के साथ राज्यों की निगरानी कर रहा हूँ।

  • मैं एक बटन और नीचे की चादर पर पूर्ण स्क्रीन पर विस्तारित क्लिक करता हूं।
  • इसका वर्तमान राज्य STATE_EXPANDED
  • मैं जल्दी से नीचे की चादर पर नीचे स्वाइप करता हूं। (पूरी तरह से सरल कड़ी चोट खींचें नहीं है जब तक यह बंद कर दिया, स्क्रॉल की तरह नीचे)
  • यह बीच में बंद हो जाता है और अगर मैं फिर से स्वाइप यह सब चला गया है अपने राज्य STATE_COLLAPSED
  • के रूप में लॉग होता है और उसके राज्य STATE_HIDDEN
है

मुझे समझ में नहीं आता कि यह बीच में क्यों रुकता है। मैं इसे एक ही स्वाइप से छुपा कैसे बना सकता हूं।

मैंने कोशिश की कि peek_height0dp पर सेट करके। इसके द्वारा, यह कभी भी STATE_HIDDEN से मुकाबला नहीं करता है। छुपाए जाने पर, इसका राज्य STATE_COLLAPSED बन जाता है। मैं बस इन राज्यों को समझ नहीं पा रहा हूं।

एक ही स्वाइप के साथ STATE_HIDDEN कैसे प्राप्त करें?

उत्तर

4

किंडा देर से लेकिन मैंने कुछ इसी तरह की खोज करते समय इस पर ठोकर खाई। BottomSheet देखने के लिए app:behavior_skipCollapsed="true" जोड़कर

एक्सएमएल में:

इस तरह आप संकुचित स्थिति को छोड़ कर सकते हैं।

या

setSkipCollapsed(boolean) साथ

प्रोग्राम।

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