Tablelayout滚动和Horizo​​ntalScrollView

Tablelayout Scrolling and HorizontalScrollView

我无法准确定位滚动结束的位置。我有一个表格布局(这个特定的表格有一行和 35 列)。表格布局位于水平滚动视图内。我用高度、宽度和边距都相同的图像视图填充行。我正在使用方向键控件来导航该行。我有一个带有可绘制背景的视图,它基本上是一个盒子。该视图位于表格布局行的第一项出现的位置。因此,当可见时,第一项就在框中。当我向右按下 dpad 时,该行从左向右移动,当前聚焦的项目移动到框内。当然,如果我向左按下 dpad,则该行会从右向左移动。我的问题是我似乎无法让行一次滚动一个图像或一列。第一次按下时,我确实得到了第 1 列,但下一次按下时,我得到了滚动到第 6 列的结果。每次按下时,行都会滚动,但一次不会滚动。我试过 scrollto 和 scrollby 都没有运气。我认为我应该能够获得当前的 scrollx 位置,只需在行中添加 child 的宽度,但我错了。我可以得到一些关于让滚动条一次移动一列的指导吗?谢谢

popindex++;
TableRow row = (TableRow) mytable.getChildAt(0);  //GET ROW OF TABLE
int sx=row.getChildAt(popindex).getWidth();  //GET CHILD WIDTH IN ROW @ INDEX
mytable.scrollto(mytable.getScrollX()+sx, 0);

好吧,我选择使用 setColumnCollapsed,而不是使用滚动来获得所需的效果。我知道它可以通过滚动效果来完成,但这对我来说同样有效。如果其他人遇到同样的情况并想这样做,我就是这样做的。

List<Integer>colarray=new ArrayList<>();

index++;
colarray.add(index)
for(int i=0; i<colarray.size(),i++){
mytable.setColumnCollapsed(i, true)
}