7

मैंने इसे लागू करने का प्रयास करने में कुछ समय बिताया है, और मेरे निष्पक्ष अनुसंधान को किया लेकिन यह काम नहीं कर सका। क्रिस बनस द्वारा cheesesquare उदाहरण में, जब व्यूपार्जर स्क्रॉल किया जाता है तो वह टूलबार स्क्रॉल करता है। ViewPager सीधे NaviagtionView से पहले, अपने दराज लेआउट में शामिल किया गया है।एंड्रॉइड - समन्वयक लेआउट, दराज लेआउट और टुकड़े

<?xml version="1.0" encoding="utf-8"?> 

<android.support.design.widget.CoordinatorLayout 
    android:id="@+id/main_content" 
    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" 
      android:background="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> 

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

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

    <android.support.v4.view.ViewPager 
     android: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.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="end|bottom" 
     android:layout_margin="@dimen/fab_margin" 
     android:src="@drawable/ic_done"/> 

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

मैं एक FrameLayout (या NestedScrollView) के बजाय ViewPager करना चाहते हैं:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/drawer_layout" 
    android:layout_height="match_parent" 
    android:layout_width="match_parent" 
    android:fitsSystemWindows="true"> 

    <!-- THIS CONTAINS COORDINATOR LAYOUT with APPBAR LAYOUT + VIEWPAGER --> 
    <include layout="@layout/include_list_viewpager"/> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_height="match_parent" 
     android:layout_width="wrap_content" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header" 
     app:menu="@menu/drawer_view"/> 

</android.support.v4.widget.DrawerLayout> 

include_list_viewpager फ़ाइल यह है। फिर, मैं गतिशील रूप से इसमें टुकड़े लोड कर सकता था क्योंकि उपयोगकर्ता ड्रॉवर लेआउट आइटम पर क्लिक करता है, और उनमें से सभी के पास एक अच्छा एनिमेटेड टूलबार होगा। अब तक, मैं बुलाए गए टुकड़ों में परिचालन करते समय टूलबार स्क्रॉल करने में सक्षम नहीं हूं। मुझे आश्चर्य है कि यह सब संभव है।

क्या किसी ने इसे हासिल किया है? किसी भी सूचक की बहुत सराहना की है।

+0

हमें –

+0

मेरे लिए cheesesquare एप्लिकेशन – ticofab

उत्तर

6
<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.support.design.widget.AppBarLayout 
     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/mToolbar" 
      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.TabLayout 
      android:id="@+id/tabLayout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"/> 

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

    <android.support.v4.widget.DrawerLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/drawer_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <android.support.v4.view.ViewPager 
     android:id="@+id/tab_viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 

     <android.support.design.widget.NavigationView 
     android:id="@+id/navigation_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     app:headerLayout="@layout/drawer_header" 
     app:menu="@menu/drawer"/> 
    </android.support.v4.widget.DrawerLayout> 

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

कोऑर्डिनेटरआउट सभी विचारों का अभिभावक होना चाहिए। DrawerLayout layout_behavior हो जाता है। चूंकि आप व्यूपर के तत्वों के साथ बातचीत करना चाहते हैं, इसलिए इसे ड्रॉवरलेआउट के शीर्ष दृश्य में होना चाहिए।

+0

से include_list_viewpager की सामग्री के लिए इस कोड काम नहीं कर रहा के साथ संपादित include_list_viewpager अपने लेआउट दिखाने के लिए, मैं पहले से ही लापता CoordinatorLayout टैग जोड़ा, लेकिन अभी भी AppBarLayout भीतर मेरे विचार कुछ भी नहीं कर रहे हैं, वहाँ वास्तव में खड़े स्थिर। कोई विचार? – cV2

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