4

私は、スワイプジェスチャーを分析するためのアプリを使用している論文のプロジェクトに取り組んでいます。ビューページャー全般について、またその設定の操作方法についても、多くの質問や情報がありますが、今まで、ページャー自体に組み込まれている特定のデフォルト値 (指を下ろした位置と指を離した位置の間の距離) を見つけることができませんでした。 . これは、Google が適切と見なす値を確認し、それを他の値と比較するために非常に役立ちます。

助けていただければ幸いです。:)

編集:

OK、自分でいくつかの手がかりを見つけました。これは ViewPager のコードです: searchco.de/codesearch/view/10066260 であり、MIN_DISTANCE_FOR_FLING という名前の静的変数があり、値は 25 (ディップ) です。この値は、initViewPager() で行われる現在のディスプレイの密度で乗算されます。この値は、determineTargetPage で使用され、ユーザーが値よりも長い距離をスワイプしたかどうかを確認します。わからないこと: 25 に 160 などを掛けると (密度の例として)、値が大きくなりすぎるため、コードを何らかの形で間違って解釈していることは明らかです。説明をいただければ幸いです。

4

2 に答える 2

3

プロジェクトに ViewPager.php をインポートし (ファイル -> インポート -> 一般 -> ファイル システム -> SDK へのパス/extras/android/support/v4/src/ を使用)、initViewPager() ブロックで mTouchSlop 変数を無効にする必要があります。 .

mTouchSlop = 0;//ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);

その後、タッチドラッグがすぐに機能します。

于 2014-01-12T14:24:44.853 に答える
3

他の誰かが情報を必要とする場合に備えて、これを要約すると(@Luksprogに感謝します):

ViewPager でのスワイプが成功するための最小しきい値は、25dip である非デバイス固有の定数であり、デバイス固有の値、つまりデバイスのディスプレイのスケール ファクターを掛けることによって現在のデバイスに調整されます。

于 2012-08-13T10:27:14.097 に答える