0

この問題を解決する方法を学びたいです。スクロールがブロックされた水平スクロールビューが必要であり(ユーザーはスクロールできないはずです)、その水平スクロールビュー内に別の水平スクロールビューが必要です。このスクロールビューはユーザーがスクロールできる必要があります(画面の幅よりも多くのコンテンツがあります)。

それは可能ですか?

親の水平スクロールビューでこれを使用してみました:

((HorizontalScrollView) view).setHorizontalScrollBarEnabled(false);
((HorizontalScrollView) view).setEnabled(false);
((HorizontalScrollView) view).setFocusable(false);
((HorizontalScrollView) view).setFocusableInTouchMode(false);

子の水平スクロールビューでは、次のようになります。

((HorizontalScrollView) view).requestFocus();

動作していません。子にはスクロールバーがあるように見えますが、スクロールできません。

これはどのように解決できますか?

PD:これは良い習慣ではないことは知っていますが、この目標を達成する方法を学びたいと思います。

4

2 に答える 2

2

ListViewは独自のスクロールを処理するため、ListeViewでHorizo​​ntalScrollViewを使用しないでください。最も重要なことは、これを行うと、ListeViewがアイテムのリスト全体を表示して、Horizo​​ntalScrollViewによって提供される無限のコンテナーを埋めるように強制されるため、大きなリストを処理するためのListViewの重要な最適化がすべて無効になります。

http://developer.android.com/reference/android/widget/Horizo​​ntalScrollView.html

UPDATE:

Since you may be forced to use a two dimensional scrollview, you may consider using this:

http://blog.gorges.us/2010/06/android-two-dimension-scrollview/

私はこれを使用していませんが、それは合理的なアプローチかもしれません。

于 2012-09-26T12:59:52.860 に答える
1

あなたはそれを行うことができます。ただし、scrollviewで子レイアウトを処理する必要があります。つまり、ScrollViewがホストできる直接の子は1つだけです。

于 2012-09-26T12:47:52.860 に答える