关于安卓ScrollView(横向)嵌套ScrollView(横向)冲突问题
warning:
这篇文章距离上次修改已过448天,其中的内容可能已经有所变动。
在Android中,ScrollView 不支持横向滚动,因为它本身就是一个支持垂直滚动的容器。如果你尝试在 ScrollView 中放置另一个横向滚动的 ScrollView,内部的横向 ScrollView 将不会工作。
解决方案通常有两种:
- 使用
HorizontalScrollView作为外部容器,而不是ScrollView。 - 如果你需要
ScrollView的垂直滚动能力,可以考虑使用第三方库,如NestedScrollView,它是ScrollView的替代品,支持嵌套滚动视图。
以下是使用 HorizontalScrollView 作为外部容器的简单示例:
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal">
<!-- 内容可以是其他横向滚动的视图,如 RecyclerView 或者其他布局 -->
</LinearLayout>
</HorizontalScrollView>如果选择使用 NestedScrollView,示例如下:
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<!-- 内容可以是其他横向滚动的视图,如 RecyclerView 或者其他布局 -->
</LinearLayout>
</androidx.core.widget.NestedScrollView>在这两种情况下,都应该避免在 LinearLayout 或其他横向布局容器中嵌套可以横向滚动的视图,因为这可能导致布局混乱和滚动冲突。
评论已关闭