9

मैं नई डिज़ाइन लाइब्रेरी का उपयोग करके एक एंड्रॉइड ऐप विकसित कर रहा हूं। मैं एक समान स्क्रॉलिंग प्रभाव बनाना चाहता हूं जिसका उपयोग नए Google Photos app में किया जाता है। मैं ऐपबारलाउट को पूरी तरह से स्क्रीन से स्क्रॉल करना चाहता हूं ताकि रीसाइक्लर व्यू स्टेटस बार के पीछे स्क्रॉल करे।AppBarLayout को पूरी तरह से विंडो के साथ गायब करने के लिए कैसे करें ट्रान्सलुकेंटस्टैटस सत्य पर सेट

मैंने ऐप की थीम में विंडो ट्रान्सलुकेंटस्टैटस को सही करने के लिए सेट किया है। यहां मुख्य गतिविधि के एक्सएमएल है:

<?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.support.v7.widget.RecyclerView 
     android:id="@+id/recyclerView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

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

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

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

कुछ इस प्रकार जब नीचे स्क्रॉल की तरह लग रहा है: Toolbar not disappearing completely

टूलबार पूरी तरह से गायब नहीं करता है।

मदद के लिए धन्यवाद!

+1

मुझे आश्चर्य है कि यदि वे भी CoordinatorLayout इस्तेमाल किया शुरुआत कर रहा हूँ ... मैं हम पूरे दिन इस सटीक सवाल पर अटक गए हैं। – timothyjc

+0

@timothyjc अगर आपको ऐसा करने से पहले कोई समाधान मिल जाए, तो क्या आप इसे यहां पोस्ट कर सकते हैं। और मुझे लगता है कि आप सही हैं हाँ – alesko007

+0

कोई भी आसानी से समस्या को देखना चाहता है, तो मेरा नमूना प्रोजेक्ट जिथब में अपलोड किया गया है ... https://github.com/timothyjc/TestALot – timothyjc

उत्तर

0

यह मैं CoordinatorLayout (बस उपकरण पट्टी पर मार्जिन के साथ खेल रहे हैं) के साथ मिल सकता है के रूप में के बारे में के रूप में करीब था ... काफी imo बंद नहीं:

<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:fitsSystemWindows="true" 
    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.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:paddingTop="25dp" 
     android:layout_width="match_parent" 
     android:layout_height="81dp" 
     android:layout_marginTop="-28dp" 
     android:background="#00ffffff" 
     app:layout_scrollFlags="scroll|enterAlways" /> 

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

<android.support.v7.widget.RecyclerView 
    android:id="@+id/recyclerview" 
    android:background="#ffffff" 
    android:fitsSystemWindows="true" 
    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="16dp" 
    android:src="@drawable/ic_headphones_white_24dp" /> 

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

मुझे लगता है कि यह करने के लिए आसान हो जाएगा मैन्युअल रूप से ...

क्या आपके पास कोई विचार या प्रगति है?

+0

मैं संयोजक लेआउट में ऊंचाई और मार्जिन सेट करने के साथ कुछ करने का प्रयास कर रहा हूं। हालांकि यह नई समस्याएं पैदा कर रहा है। क्या आपने यह अंदाजा लगाया? – alesko007

+0

रेडडिट के कुछ लड़के ने मुझे बताया कि एक बग है और इसे समर्थन डिजाइन lib की अगली रिलीज तय कर दी जाएगी। मैं मैन्युअल रूप से सभी एनिमेशन कर रहा हूँ। – timothyjc

+0

@timothyjc फिट बैठता है सिस्टमविंडोज़ ऐपबारलाउट पर भी होना चाहिए। और एंड्रॉइड: windowDrawsSystemBarBackgrounds = सच v-21 शैलियों में होना चाहिए। Xml यही वह है जो मैंने इसे काम करने के लिए किया था। – Suleiman19

-1

अपने ऐपबारलाउट और कोऑर्डिनेटरआउट के लिए फिट सिस्टम सिस्टम/"सत्य" जोड़ें।


+0

यह – alesko007

+0

काम नहीं करता है जो टूलबार को पारदर्शी नहीं बनाता है। –

0

मेरे मामले में मैं = CoordinatorLayout और fitSystemWindows = अपने बच्चे को "सही" "गलत" fitSystemWindows जोड़ा - RecyclerView करने के लिए अपने मामले में। NavigationView, DrawerLayout, AppBarLayout और टूलबार पर "सत्य" पर। मैंने अलग-अलग मूल्यों की कोशिश की है और फिर मेरे मामले में कुछ तोड़ दिया है। एंड्रॉइड 5.1.1 और नवीनतम समर्थन पुस्तकालय (23.0.1)। आशा करता हूँ की ये काम करेगा।

1

यहाँ मैं अपने आवेदन

<android.support.design.widget.AppBarLayout 
    android:id="@+id/app_bar" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/app_bar_height" 
    android:fitsSystemWindows="true" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/toolbar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:contentScrim="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|enterAlwaysCollapsed"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

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

AppBarLayout की आम पैटर्न का उपयोग करें कि एप्लिकेशन टेम्पलेट से आता है जब आप एंड्रॉयड स्टूडियो में एक Android परियोजना बनाने में क्या इस्तेमाल किया है। एक्सएमएल लेआउट और जावा कोड में बस कुछ परिवर्तन:

एक्सएमएल लेआउट:

<android.support.design.widget.AppBarLayout 
    android:id="@+id/app_bar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay" 
    > 

    <FrameLayout 
     android:id="@+id/toolbar_container" 
     android:fitsSystemWindows="true" 
     app:layout_scrollFlags="scroll|enterAlways" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="?attr/colorPrimary" 
     > 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:popupTheme="@style/AppTheme.PopupOverlay" 
      /> 

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

जावा कोड:

ViewCompat.setOnApplyWindowInsetsListener(toolbar, new OnApplyWindowInsetsListener() { 
     @Override 
     public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) { 
      toolbarContainerLayout.setPadding(0, insets.getSystemWindowInsetTop(), 0, 0); 

      return insets; 
     } 
    }); 
संबंधित मुद्दे

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