水平および垂直スクロールで大きなテーブルを作成する必要があります。このテーブルの各セルはクリック可能である必要があります。
明確にするために、これは私が達成しようとしていることの図です。中央のスクロール可能な領域、空のセル、数字のあるセルはクリック可能にする必要があります。
私はさまざまなアプローチを試みましたが、すべて失敗しました:
GridView
: 問題:gridview
要素はクリック可能でスクロール可能ですが、スクロールは垂直方向のみです。HorizontalScrollView
は に配置されVerticalScrollView
、LinearLayout
表の行を表す は に配置されHorizontalScrollView
ます。Linearlayouts
また、プログラムで構築されたテーブルは、行ごとに新しい行を追加します。でビューをスクロールする座標を設定することにより、スクロールは親レイアウトに手動で実装されますTouchEvent
。親に座標を設定するために ontouchevent で false を返すカスタムScrollViewsを使用しています。スクロールは正常に機能しますが、onClickEvent をセル (テキストビュー) にアタッチすると、スクロールが中断されます。クリックはできますが、スクロールはできません。このアプローチのさまざまな変更(onintercepttouchevent)を試しましたが、最良の結果は、スクロール後にクリックが発生するスクロールでした。
また、テーブル ヘッダーは垂直方向に固定する必要があります。最初と最後の列は水平に固定する必要があります。Google がGoogle Docs アプリでこれをどのように作成したのだろうか。彼らのテーブルは完全にスクロール可能でクリック可能です。