การยุบแถบเครื่องมือไม่ทำงานเมื่อเนื้อหาเป็นส่วนที่โหลดแบบไดนามิก

ฉันมีกิจกรรมที่ใช้แถบเครื่องมือยุบ เค้าโครงมีลักษณะดังนี้ (ละเว้นสิ่งที่ไม่เกี่ยวข้อง):

<DrawerLayout ...>
    <FrameLayout>
        <CoordinatorLayout>
            <AppBarLayout>
                <CollapsingToolbarLayout
                    app:layout_scrollFlags="scroll|exitUntilCollapsed" ...>
                    <Toolbar
                        app:layout_scrollFlags="scroll|enterAlways" .../>
                </CollapsingToolbarLayout>
            </AppBarLayout>
            <FrameLayout
                android:id="@+id/fragment_container"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
        </CoordinatorLayout>
    </FrameLayout>
</DrawerLayout>

ใน onCreate() ของกิจกรรม ฉันสร้างส่วนย่อยและแทนที่ fragment_container ด้วย:

TabHostFragment f = new TabHostFragment();
getSupportFragmentManager()
    .beginTransaction()
    .replace(R.id.fragment_container, f)
    .commit();

เค้าโครง TabHostFragments เป็นเพียง ViewPager ซึ่งเต็มไปด้วยหลายแฟรกเมนต์ ชิ้นส่วนเหล่านี้บางส่วนมีมุมมองการรีไซเคิล ตอนนี้ เมื่อฉันเลื่อนมุมมองผู้รีไซเคิลขึ้นและลง แถบเครื่องมือจะไม่ตอบสนองเลย ฉันจะทำให้แถบเครื่องมือหายไปเมื่อเลื่อนลงและปรากฏขึ้นอีกครั้งเมื่อเลื่อนขึ้นได้อย่างไร


comment
คุณได้ลองเพิ่ม app:layout_behavior="@string/appbar_scrolling_view_behavior" ใน RecyclerView แล้วหรือยัง   -  person Roman Kolomenskii    schedule 23.01.2017
comment
ลองลิงค์นี้ mzgreen.github.io/2015/06/23/   -  person siddhesh    schedule 23.01.2017
comment
@RomanKolomenskii ฉันมี แต่ก็ไม่มีประโยชน์   -  person manabreak    schedule 23.01.2017
comment
@manabreak คุณพบวิธีแก้ปัญหาบ้างไหม?   -  person Ahmed Gamal    schedule 02.05.2017
comment
สวัสดี คุณพบวิธีแก้ปัญหาสำหรับเรื่องนี้แล้วหรือยัง?   -  person Franco    schedule 06.06.2018
comment
@manabreak มีวิธีแก้ไขไหม กรุณาแบ่งปัน   -  person Rakesh    schedule 30.11.2019


คำตอบ (1)


เขียนโครงร่างของคุณใหม่ตามลำดับ

<android.support.v4.widget.DrawerLayout 
    ...
    android:fitsSystemWindows="true">

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

        <android.support.v4.widget.NestedScrollView
            ...
            android:fillViewport="true"
            android:fitsSystemWindows="true"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">

            <include layout="@layout/layout_with_your_viewPager" />

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

        <include layout="@layout/app_bar_layout" />

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

    <FrameLayout />
</android.support.v4.widget.DrawerLayout>
person Taras Mykhalchuk    schedule 23.01.2017