如何使用onclick创建二维可滚动表(视图)

时间:2013-09-04 11:46:37

标签: android android-layout scroll onclick ontouchevent

我需要创建具有水平和垂直滚动的大表。该表的每个单元格都应该是可点击的。

要说清楚这是我想要实现的目标。中心的可滚动区域,空单元格和带数字的单元格应该是可点击的。

What I am trying to achieve

我尝试了不同的方法,但最终都失败了:

  1. GridView问题: gridview元素是可点击和可滚动的,但滚动只是垂直的。
  2. HorizontalScrollView位于VerticalScrollViewLinearLayout代表表格行,位于HorizontalScrollView。程序构建表逐行添加新的Linearlayouts。通过将坐标设置为TouchEvent中的滚动视图,可以在父布局中手动实现滚动。我正在使用自定义 ScrollViews ,它在ontouchevent中返回false以设置父级中的坐标。滚动工作正常,但是当我们将onClickEvent附加到单元格(textview)时,它会中断。单击有效,但滚动不起作用。我尝试过这种方法的不同修改(onintercepttouchevent),但最好的结果是在滚动后滚动导致点击。
  3. 表格标题也应垂直固定。 第一列和最后一列应水平固定。 我想知道Google是如何在 Google文档应用中做到这一点的。他们的桌子完全可滚动和可点击。

1 个答案:

答案 0 :(得分:0)

我找到了工作解决方案。而不是OnTouchEvent我使用onScrollChangedonHorizontalScrollChanged进行手动滚动。使用这种方法,单击工作正常但不能对齐滚动,因为事件参数 x onScrollChanged中始终为0(在onHorizontalScrollChanged中相反)。