我想在手机屏幕顶部显示一个包含30个项目的水平滚动列表,为此我使用的是带有“水平”方向的LinearLayout的HorizontalScrollView,因为它是孩子,但线性布局没有占用整个手机的宽度,即使将其宽度设置为“匹配 - 父级”。这是代码:
<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,请建议。
答案 0 :(得分:1)
要轻松实现这一点,您可以将Recyclerview与Horizotanl布局管理器一起使用。例如
recycler_view.setLayoutManager(new LinearLayoutManager(MainActivity.this, LinearLayoutManager.HORIZONTAL, false));
答案 1 :(得分:0)
我认为您不需要HorizontalScrollView
嵌套LinearLayout
来实现您的目标。如果您的按钮布局相似且按钮功能也相似,那么简单地使用水平RecyclerView
会更好。请参阅此答案以获取帮助https://stackoverflow.com/a/40584425/9119277