我想在包含30个项目的手机屏幕顶部显示一个水平滚动列表,为此我使用的是HorizontalSayrollView,其中LinearLayout具有“水平”方向,因为它的孩子但是线性布局没有占用整个手机宽度甚至将其宽度设置为“匹配父级”。这是代码:
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_gravity="center">
<GridView
android:id="@+id/gridView_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stretchMode="columnWidth" />
</LinearLayout>
</HorizontalScrollView>
图中显示线性布局不占用整个空间,而LinearLayout仅覆盖部分空间。此外,在将大小更改为固定大小时,我注意到HorizontalScrollView实际上仅表现为垂直滚动视图。
注意:如果有另一种方法可以显示一个水平的按钮列表,其中30个项目的数字从1到30,请建议。
为了轻松实现这一点,您可以将Recyclerview与Horizontal Layout Manager一起使用。例如
recycler_view.setLayoutManager(new LinearLayoutManager(MainActivity.this, LinearLayoutManager.HORIZONTAL, false));
我不认为你需要一个HorizontalScrollView
与嵌套的LinearLayout
为你想要达到的目标。如果您的按钮布局相似且按钮的功能也相似,那么简单地使用水平RecyclerView
会更好。请参阅此答案以获取帮助https://stackoverflow.com/a/40584425/9119277