2015-10-08 21 views
14

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

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

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/id_appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/id_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_scrollFlags="scroll|enterAlways"/> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/id_tabs" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      style="@style/MyCustomTabLayout"/> 

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

    <android.support.v4.view.ViewPager 
     android:id="@+id/id_viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

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

यहां उदाहरण के अनुप्रयोगों है: https://play.google.com/store/apps/details?id=com.contextlogic.wish https://play.google.com/store/apps/details?id=co.vine.android

+0

क्या आप अपना लक्ष्य स्पष्ट कर सकते हैं: टूलबार और टैबलाउट या बस टैबलाउट (और टूलबार दृश्यमान छोड़ें) दोनों को छुपाएं? – DmitryArc

+0

हां बिल्कुल। मैं टैब को छिपाना चाहता हूं और टूलबार को दृश्यमान के रूप में छोड़ना चाहता हूं। –

उत्तर

26

इस दृष्टिकोण का प्रयास है। मुख्य विचार है कि टूलबार को कोऑर्डिनेटर लेआउट के बाहर ले जाना और इस व्यूअर स्ट्रक्चर को अन्य कंटेनर लेआउट से लपेटना है।

<RelativeLayout 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.support.design.widget.AppBarLayout 
     android:id="@+id/id_toolbar_container" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/id_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed" /> 
    </android.support.design.widget.AppBarLayout> 

    <android.support.design.widget.CoordinatorLayout 
     android:id="@+id/main_content" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_below="@id/id_toolbar_container"> 

     <android.support.design.widget.AppBarLayout 
      android:id="@+id/id_appbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <android.support.design.widget.CollapsingToolbarLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       app:layout_scrollFlags="scroll|enterAlways"> 

       <android.support.design.widget.TabLayout 
        android:id="@+id/id_tabs" 
        android:layout_width="match_parent" 
        android:layout_height="?attr/actionBarSize" /> 
      </android.support.design.widget.CollapsingToolbarLayout> 

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

     <android.support.v4.view.ViewPager 
      android:id="@+id/id_viewpager" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

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

यह अच्छा लग रहा है। लेकिन शीर्षक नहीं दिखाया गया है। –

+0

क्या शीर्षक पहले संस्करण में था या नहीं? यानी इन परिवर्तनों के बाद गायब हो गया? – DmitryArc

+0

अरे क्षमा करें, यह ठीक काम करता है। मुझे लाइन समर्थन एक्शनबार को सेट करना होगा .etDisplayShowTitleEnabled (false); –

0

आप शीर्ष दृश्य के रूप में Toolbar ले जाने के लेआउट में और View साथ बदलें कि पिछले Toolbar अंतरिक्ष placehold जाएगा और TabLayout करता है के रूप में स्क्रॉल करेगा की जरूरत है , आपके AppBarLayout के अंदर।

यहां बताया गया है कि आपको अपना लेआउट सेट करने की आवश्यकता है।

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/preview_top_parent" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true"> 
<android.support.design.widget.AppBarLayout...> 
<android.support.v4.view.ViewPager...>  
<android.support.v7.widget.Toolbar/> <-!--- Toolbar is direct child of CooridnatorLayout and z-order above all views --!-> 
</android.support.design.widget.CoordinatorLayout> 

यहाँ video

+0

कृपया उचित डेमो प्रदान करें, कि AppBarLayout में क्या होना चाहिए। –

+0

कृपया कॉपी और पेस्ट समाधान की तलाश न करें। मैंने इसे पाठ में समझाया। –

1

नमस्ते आप उपकरण पट्टी गायब हो जाने की इच्छा है और टैब अब भी देखते हैं, तो आप अगले कोड लिखना चाहिए:

<android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:layout_scrollFlags="scroll|enterAlways" 
     ></android.support.v7.widget.Toolbar> 

और अगर आप TabLayout

के ब्लॉक में TabLayout उपयोग scrollFlags छिपाने चाहते हैं
app:layout_scrollFlags="scroll|enterAlways" 
+0

टोनी, ओपी आपके द्वारा प्रदान किए गए कार्यों के विपरीत चाहता है। – Soumya

+0

हाँ केवल मेरी आखिरी टिप्पणी पर विचार करें –

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