Ich muss vertikale RecyclerView
mit verschachtelten horizontalen RecyclerView
in jedem Element erstellen. Alles ist in CoordinatorLayout
. Beim Scrollen durch Tippen außerhalb der verschachtelten RecyclerView-Symbolleiste wird ausgeblendet, beim Scrollen des übergeordneten Recycler durch Tippen auf verschachtelte Symbolleiste bleibt jedoch eine Symbolleiste erhalten.
Jede Hilfe wäre dankbar.
Hier sind meine XML-Layouts:
main_activity.xml:
<Android.support.design.widget.CoordinatorLayout
...>
<FrameLayout
Android:id="@+id/fragment_frame"
...
Android:fitsSystemWindows="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<Android.support.design.widget.AppBarLayout
...
Android:fitsSystemWindows="true"
Android:id="@+id/appbar_layout">
<include layout="@layout/toolbar"/>
</Android.support.design.widget.AppBarLayout>
</Android.support.design.widget.CoordinatorLayout>
Hier ist toolbar.xml:
<Android.support.v7.widget.Toolbar
Android:id="@+id/main_toolbar"
...
Android:fitsSystemWindows="true"
app:layout_scrollFlags="scroll|enterAlways">
<TextView .../>
</Android.support.v7.widget.Toolbar>
fragment.xml:
<Android.support.v7.widget.RecyclerView
...
Android:scrollbars="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
Und recycler_view_item.xml:
<RelativeLayout ...>
<TextView .../>
<!-- fixme(CullyCross) fix bug with hiding toolbar -->
<Android.support.v7.widget.RecyclerView
...
Android:scrollbars="horizontal"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
/>
</RelativeLayout>
Vielen Dank,
Anton
Wie gefordert ist hier die Lösung, die ich bisher gut genug gefunden habe:
In meinem Fall habe ich eine nestedScrollView
mit 4 RecyclerView
s, um horizontal nach innen zu scrollen. Für jeden dieser RecyclerView
s habe ich das programmatisch gemacht:
restaurantsRecylerView.setHasFixedSize(true);
restaurantsRecylerView.setNestedScrollingEnabled(false);
Wahrscheinlich möchten Sie das fixedSize nicht, Sie sind sich nicht sicher, ob es einen Unterschied macht. Meine Liste ist immer 25, damit ich sie für die Leistung nutzen kann. Danach kann ich problemlos scrollen, auch wenn ich auf die RecyclerViews tippe
Ich hoffe es hilft
Versuchen Sie es mit RecyclerView
in Android.support.v4.widget.NestedScrollView .
<Android.support.v4.widget.NestedScrollView
Android:id="@+id/nScrollView"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<!-- Set other views of your Layout -->
</Android.support.v4.widget.NestedScrollView>
Versuchen Sie es auch mit anderen layout_scrollFlags in Toolbar
und
RecylerView.setNestedScrollingEnabled(false); // set it true or false as per requirement
Wir können dies in XML erreichen
Android:nestedScrollingEnabled="false"