2016-08-19 14 views
9

BottomSheetBehavior को अद्यतनBottomSheetBehavior जब डिजाइन पुस्तकालय 24.2.0

compile 'com.android.support:design:24.1.1' 

में ठीक से काम से काम नहीं कर रहा है, लेकिन जब मैं इसे 24.2.0 को अद्यतन करते हैं, यह नहीं work.Is कि एक बग है? यह मेरा कोड है:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    > 

    <LinearLayout 
     android:id="@+id/llScroll" 
     android:layout_width="match_parent" 
     android:layout_height="200dp" 
     android:orientation="vertical" 
     android:background="@color/blue_1" 
     app:layout_behavior="android.support.design.widget.BottomSheetBehavior"> 
    </LinearLayout> 

</android.support.design.widget.CoordinatorLayout> 
+0

'काम नहीं' के बंद होने के लिए पर्याप्त जानकारी नहीं है। * यह कैसे काम नहीं करता है? – ianhanniballake

+0

पोस्ट। जावा कोड –

+0

मुझे एक ही समस्या है। "काम नहीं" का अर्थ है कि यह किसी भी अपेक्षित व्यवहार के बिना एक साधारण लेआउट के रूप में दिखाई देता है, mBottomSheetBehavior.setState (BottomSheetBehavior.STATE_COLLAPSED); अब और काम मत करो। यह सिर्फ काम नहीं करता है। –

उत्तर

28

STATE_COLLAPSED: नीचे चादर का एक हिस्सा छिपा देता है

STATE_HIDDEN: पूरा नीचे चादर

समर्थन लाइब्रेरी 24.2.0 में छिपा देता है, तो आप कितने पिक्सल इंगित करने के लिए झांकना ऊंचाई सेट करने के लिए आप गिरने पर अपनी निचली शीट दिखाना चाहते हैं।

तो अगर आप चाहते हैं कि उसे ध्वस्त किया जाना है और छिपा रखा, के बाद आप अपने BottomSheetBehavior प्रारंभ आप इस तरह कोड जोड़ सकते हैं:

mBottomSheetBehavior.setPeekHeight(0); 

मतलब यह है कि जब नीचे चादर ध्वस्त हो गई, इसकी ऊंचाई का 0 पिक्सेल हो जाएगा दिखाया गया है।

या अपने बस अगर आप की जरूरत है इसे गायब कर सकते हैं, इस तरह कोड का उपयोग करें:

mBottomSheetBehavior.setHideable(true); 
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN); 
+0

मैंने अभी तक यह कोशिश नहीं की है, लेकिन मुझे Bottomsheet के लिए संशोधन इतिहास में कुछ भी नहीं मिला है: https://developer.android.com/topic/libraries/support-library/revisions।एचटीएमएल – kirtan403

+0

मैंने पाया कि SetPeekHeight (0) पुरानी कार्यक्षमता को वापस पाने का सबसे अच्छा और सरल तरीका है। – lionscribe

3

अपडेट किया गया अगस्त 30 वीं, वर्ष 2016

The accepted answerSTATE_HIDDEN और STATE_COLLAPSED और कैसे सही ढंग से com.android.support:design:24.2.0 में दोनों का उपयोग करने के बीच का अंतर बताते हैं।

अगस्त 20 वीं के रूप में, 2016

हालांकि इस com.android.support:design:24.2.0 साथ एक बग होने लगते है, तो आप अस्थायी रूप से इसके चारों ओर BottomSheetBehavior.STATE_HIDDEN का उपयोग करके काम कर सकते हैं:

mBehavior.setHideable(true); 
mBehavior.setState(BottomSheetBehavior.STATE_HIDDEN); 

यह अभी भी नीचे बंद हो जाएगा एक एनीमेशन के साथ चादर।

मुझे यकीन है कि क्या STATE_COLLAPSED और STATE_HIDDEN के बीच वास्तविक अंतर है नहीं कर रहा हूँ, और documentation सहायक की तुलना में कम है, लेकिन जब तक यह वास्तव में भी निश्चित होती है मुझे लगता है कि STATE_HIDDEN ठीक है।

+0

मेरे लिए काम करता है! धन्यवाद! –

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