我正在使用类似于Google Play
app的布局结构。但在我的情况下,我修复了水平RecyclerView
容器,所以我更喜欢使用NestedScrollView
作为根视图。这是我的布局结构
<NestedScrollView>
<HeaderView />
<RecyclerView />
<HeaderView />
<RecyclerView />
<HeaderView />
<RecyclerView />
</NestedScrollView>
问题在于,当我垂直滚动NestedScrollView
并且当它晃动时我无法立即停止并开始滚动RecyclerView
,我需要等待一分钟直到滚动停止,移开我的手指,如果它在屏幕上,然后在RecyclerView
滚动时尝试滚动RecyclerView
和反之亦然。如何删除滚动冲突以使我的布局像Google Play
app中一样滚动平滑?
答案 0 :(得分:-1)
我还为GooglePlay应用程序设计了一个应用程序similer。请按照以下步骤操作:
app:layout_behavior="@string/appbar_scrolling_view_behavior"
添加到android.support.v4.widget.NestedScrollView
RelativeLayout
作为android.support.v4.widget.NestedScrollView
的直接子项,并将属性android:descendantFocusability="blocksDescendants"
添加到RelativeLayout
RelativeLayout
内,添加一个垂直LinearLayout
作为所有标题视图(TextView
)和RecyclerView
这是工作代码的结构。试试这个:
<android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.AppBarLayout />
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="blocksDescendants">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- Header view -->
<TextView
android:layout_width="match_parent"
android:layout_height="48dp"
android:paddingLeft="16dp"
android:gravity="center_vertical"
android:textSize="14sp"
android:textStyle="bold"
android:fontFamily="sans-serif"
android:textColor="@color/textColorSecondary"
android:text="Header"/>
<android.support.v7.widget.RecyclerView />
<!-- Header view -->
<TextView />
<android.support.v7.widget.RecyclerView />
<!-- Header view -->
<TextView />
<android.support.v7.widget.RecyclerView />
<!-- Header view -->
<TextView />
<android.support.v7.widget.RecyclerView />
<!-- Header view -->
<TextView />
<android.support.v7.widget.RecyclerView />
................
..........................
</LinearLayout>
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
希望这会对你有帮助〜