5

Android ビューページャー (ACL の r4) に興味深いバグが見つかりました。

ベロシティトラッカーは、古いデバイスや遅いデバイスで指をスクロールする速度が速すぎる/画面の端から外れると、ビューページャーを間違った方向に飛ばします。

元の Galaxy Tab、HTC Desire、Nexus One、San Francisco、HTC Hero で再生できます。

Google +、マーケット、またはかなりサブステーション ビュー ページャーの実装で何かを開きます。

左端のページに移動し、画面の右端で指をそっと引っ張ると、ビューページャーが右にジャンプします(ドラッグ方向とは逆)

もっと調査する必要がありますが、これは速度トラッカーが低速のデバイスについていけないようです。もちろん、これにより、左から右にすばやくスクロールすると、ビューページャーがジャンプする可能性があります。新しい市場 (3.3+) を試してみて、一方から他方へ移動し、厄介な結果を確認してください!

クラスを拡張することによる修正に関する任意のアイデア.新しいデバイスで複製することはほとんど不可能であることがわかったため、多くのことが起こっているときに画面が奇妙な結果を提供し、いくつかのモーションイベントが欠落している可能性があると考えています. (Nexus S、Samsung GSII、Sensation)。

編集: この問題は ACL v6 で解決されました

ありがとう、クリス

4

1 に答える 1

5

r4 で出てきた ViewPager のバージョンには、このような問題がいくつかあったと思いますが、その後修正されました。次のリリースはすぐに来るはずです。これは、今後の修正に加えて、時間の経過とともに改善される可能性が高い動作です。

興味があり、サポート ライブラリ パッケージに含まれているソースを編集したい場合は、onTouchEvent でインターセプトが発生した後だけでなく、最初のダウン イベントから onInterceptTouchEvent の間に MotionEvents を VelocityTracker に渡し始めることで修正されたと思います。これにより、VelocityTracker が処理するデータが増えます。または、他のトリガーを試すこともできます。

于 2011-11-03T17:50:37.063 に答える