シークバーの動作を変更してiOSシステムと似ていますが、y座標のseekbar rectからはシーク進捗が遅くなります。シークバーに戻ると、シークバーに触れるとシークバーのxスワイプ/プログレスバーの1/1の比率になります。Android - Seekbarカスタム進捗スケーリング
シークバー(y方向)が50ピクセル上にあるとすると、スケーリング係数は3/1となるはずです。x方向に3ピクセル離れたところを移動すると、シークバーは明らかにx軸のサインに合わせて1ピクセル移動する必要があります。要約すると、ipod music tracking seekbarや動画プレーヤー(AndroidのMXプレーヤーは私が探しているものと同じものを持っていると思う)のようなものです。
これを行う方法はありますか?
私が試したのは、seekbar.setOnTouchListenerをオーバーライドしていますが、ここから私はそのようなことをシミュレートするために何ができるか分かりません。私はseekbar.setOnSeekBarChangeListenerに関連すると思います...私はsetOnSeekBarChangeListener.OnProgressChangedメソッド内で見つけることができる同じ進行状況バーのジェスチャ検出と計算の間の "リンク"をオーバーライドできますか? seekbar.setScalingProgressFactorのような、y座標に依存してx軸に沿って3/1ピクセルの割合を課す方法がありますか?
私の質問がはっきりしていることを願っています。
ありがとうございます!あなたの活動のOnTouch、使用中
ありがとうございました!しかし、「シークバーのx座標」はどういう意味ですか?あなたは "seekbar.setProgress(toMove)"を使うことを提案しますか?愚かな質問を申し訳ありません::) – pippo
@pippoまあ、シークバーの現在の進行状況を記録する変数を取得します。次に、それにtoMoveを追加し、それをProgressとして設定します。あなたが助けを必要とする場合は、尋ねてください! P.S.あなたは答えが満足できると思うなら、それを受け入れられたとマークし、それを投票するかもしれませんか? ; D – Rippr
ありがとうございました。あなたは私の仕事の中で私を助けてくれました!だから、私はこの解決策を見つけました:あなたが示唆したように、私はsetOnTouchListenerをオーバーライドし、シークバービューでクリックすると私の位置を追跡しました。スケーリングファクタはあなたが書いたものと似ていますが、より滑らかにするためにちょっとした工夫をしました。私のevent.getX()を(seekbar.getWidth()/ seekbar.getMax())に分割して、 )そしてsetProgress(getProgress()+ toMove)を、私のseekbarのonTouchListenerの中に入れてください。すべてはすぐに行く!本当にありがとう!! :) – pippo