【问题标题】:How to create two dimensions scrollable table(view) with onclicks如何使用 onclick 创建二维可滚动表(视图)
【发布时间】:2013-09-07 21:49:30
【问题描述】:

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

为了清楚起见,这是我正在努力实现的目标。中心的可滚动区域、空单元格和带有数字的单元格应该是可点击的。

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

  1. GridView: 问题: gridview 元素可以点击和滚动,但只能垂直滚动。
  2. HorizontalScrollView 放在VerticalScrollView 中,而代表表格行的LinearLayout 放在HorizontalScrollView 中。并且程序构建的表逐行添加新的Linearlayouts。通过在TouchEvent 中设置滚动视图的坐标,在父布局中手动实现滚动。我正在使用自定义 ScrollViews 在 ontouchevent 中返回 false 以在父级中设置坐标。滚动工作正常,但是当我们将 onClickEvent 附加到单元格(文本视图)时,它会中断。单击有效,但滚动无效。我尝试了这种方法的不同修改(onintercepttouchevent),但最好的结果是滚动导致滚动后点击。

表头也应该垂直固定。 第一列和最后一列应水平固定。 我想知道 Google 是如何在 Google 文档应用 中做到这一点的。他们的表格完全可以滚动和点击。

【问题讨论】:

    标签: android android-layout scroll onclick touch-event


    【解决方案1】:

    我找到了可行的解决方案。而不是OnTouchEvent,我使用onScrollChangedonHorizontalScrollChanged 进行手动滚动。使用这种方法,点击可以正常工作,但对角滚动不起作用,因为事件参数 xonScrollChanged 中始终为 0(而在 onHorizontalScrollChanged 中则相反)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      • 2019-11-03
      • 1970-01-01
      • 2020-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多