【发布时间】:2018-06-20 17:47:25
【问题描述】:
我有一个Activity,它将项目显示为列表,但我还需要能够水平滚动项目,因为它们可能会覆盖右侧的屏幕。为此,我用HorizontalScrollView 包裹了我的容器。
我想以编程方式将我的项目添加到一个垂直方向的容器 LinearLayout,即在 for 循环中使用 addView()。正如我之前提到的,由于它包含在HorizontalScrollView 中,因此用户不可能垂直滚动项目,因此我需要对其进行分页。希望这个插图可以让您更好地理解。
我的问题是,我怎么知道我的容器是否在最近的页面上已经装满了项目,所以我需要将剩余的项目添加到下一页?我已经通过使用View.GlobalVisibleRect(Rect r) 解决方法作为How do I tell when an image is clipped? 检查了视图是否被剪切,但仍然没有运气。谢谢。
xml结构:
<HorizontalScrollView>
<LinearLayout android:orientation="vertical">
<!-- The programmatically added item views should goes here. -->
</LinearLayout>
</HorizontalScrollView>
【问题讨论】:
-
@Rahandi jalu 是否可以在下一行显示溢出的项目,
-
@war_Hero 这些项目更像是一个右侧有列的表格,因此它需要在一行中
-
好的,为什么不使用recyclerview来做呢?
-
@war_Hero 我认为不会,因为我想避免使用适配器,并且我需要访问单个项目的视图以实现高级 UI 目的