2015-06-17 22 views
9

मेरी activity_main.xml में शामिल के DrawerLayout एक CoordinatorLayout बुलाया content_layout.xml है। इस CoordinatorLayout के भीतर मेरा AppBarLayout है जिसमें Toolbar है, फिर एक LinearLayout एक खंड की सामग्री के लिए।CoordinatorLayout टूलबार में प्रवेश पर अदृश्य जब तक पूरी ऊंचाई

जब RecyclerView युक्त एक टुकड़ा स्क्रॉल हो जाता है, टूलबार सफलतापूर्वक बाहर निकलता है। टूलबार को वापस लाने के लिए नीचे स्क्रॉल करते समय समस्या निहित होती है। टूलबार तब तक प्रकट नहीं होता जब तक कि टूलबार की पूरी ऊंचाई स्क्रॉल नहीं हो जाती है और इस तरह दिखाए गए अनुसार इसकी जगह एक अस्पष्ट सफेद बॉक्स छोड़ देता है।

toolbar http://i59.tinypic.com/33xil5d.png

content_layout.xml

<android.support.design.widget.CoordinatorLayout 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/container_frame" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

    </android.support.design.widget.AppBarLayout> 

    <!-- The main content view for fragments--> 
    <LinearLayout 
     android:id="@+id/content_frame" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

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

उपकरण पट्टी MainActivity के onCreate() के माध्यम से आरंभ नहीं हो जाता:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
setSupportActionBar(toolbar); 
getSupportActionBar().setHomeButtonEnabled(true); 
getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

मैं इस को हल करने के लिए के रूप में किसी भी सुझाव की सराहना करेंगे। धन्यवाद।

उत्तर

13

मुझे यह वही समस्या थी और मुझे पता चला कि एकमात्र चीज यह है कि toolbar के अलावा AppBarLayout के अंदर कुछ और था। मैंने टूलबार के नीचे अपने लेआउट में एक अदृश्य दृश्य रखा। सबसे आदर्श समाधान नहीं है, लेकिन यह काम किया।

<android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">  

    <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

    <View 
     android:id="@+id/appbar_bottom" 
     android:layout_width="match_parent" 
     android:layout_height="1dp" 
     android:background="@android:color/transparent" 
     android:visibility="invisible"/> 

</android.support.design.widget.AppBarLayout> 
+1

यह शानदार है, धन्यवाद! बहुत अच्छा काम करता है। हालांकि, आप की तरह, मुझे पूरी तरह से यकीन नहीं है क्यों। – McGuile

+0

इसके लिए बहुत बढ़िया thx। आप ऊंचाई को 0.1 डीपी भी डाल सकते हैं ताकि यह बिल्कुल दिखाई न दे (बिल्कुल लगभग बिल्कुल;)) – zoroz

+1

बहुत धन्यवाद @ जोन कॉर्डेरो –

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