0

カードゲームをベースにしたアプリを作っています。ユーザーは自分のカードを見ることができます。彼はまた、「テーブルの周り」をスクロールして、対戦相手の開いているカードを見ることができます。画面には、一度に1人のプレーヤー(ユーザーまたは対戦相手の1人)が表示されます。

Galleryを使用して実装しました。カスタムアダプターを使って、円形にしました。また、onFling()をインターセプトして、テーブルの周りではなく、次のプレーヤーに「フリング」するようにしました。ここまでは順調ですね。

ここに問題があります。ギャラリーの要素が画面全体と同じくらい広い場合、ギャラリーはうまく機能しません。ビューを「少し」ドラッグして次のプレーヤーを表示することはできません。ほとんどの場合、フリングは機能しません。その場合、アニメーションはありません。ビューは次のプレーヤーに切り替わります。

ギャラリー要素を画面より2ピクセル狭くすることで解決しました。1ピクセルでは不十分です。一方向へのスクロールは修正されますが、他の方向は依然として「堅い」です。

私は2つの理由でこれを書いています。まず、同様の問題がある場合は、この投稿で数時間を節約できる可能性があります。第二に、私は興味があります:Androidの達人の誰もがギャラリーコントロールのこの振る舞いを説明できますか?

4

1 に答える 1

1

私は同じようなことをしましたが、Horizo​​ntalScrollViewを使用しました。ギャラリーの代わりにこれを試してみてください。ビューにOnTouchListenerを設定し、 onTouchが MotionEvent.ACTION_UP をキャッチしたときにスクロールを調整するだけです。

于 2012-05-04T17:12:54.677 に答える