この質問のバリエーションはインターネット上で見つけることができますが、答えはありません。
範囲が2つあるシークバーが必要です。私は自分でこれをプログラムするつもりですが、Androidの経験が不足しています。誰かがどこから始めればいいのか教えてもらえますか。つまり、何かを拡張する必要があることはわかっていますが(おそらくProgressBar)、どうすればそれを行うことができますか?標準シークバーのすべての機能を本当に再作成する必要がありますか、それとももっと簡単な方法がありますか?
もちろん、完全なソリューションも大歓迎です;)
私もこれを探していましたが、役に立ちませんでした。そこで、新しいウィジェットを作成しました。気軽に使用してください。 https://github.com/anothem/Android-range-seek-bar
「私もこれを探していましたが、役に立たなかったので、新しいウィジェットを作成しました。自由に使用してください。 https://code.google.com/p/range-seek-bar/ 」
この例のStephanリンクはうまく機能します!ただし、回答を得るには、ユーザーはいずれかの親指を押す必要があります。ユーザーがバーを押すと、最も近い親指がその位置に移動し、通常のように動作することを望みました。
次のようなコード例でこれを実装しました。
_private final Thumb getClosestThumb(float touchX)
{
double xValue = screenToNormalized(touchX);
return (Math.abs(xValue - normalizedMinValue) < Math.abs(xValue - normalizedMaxValue)) ? Thumb.MIN : Thumb.MAX;
}
_
そして、「public boolean onTouchEvent(MotionEvent event)
」で、
_if(pressedThumb == null),
pressedThumb = getClosestThumb(mDownMotionX);
_
左右のアイコンが付いたウィンドウ付きのシークバー。
プリセット可能な最小ウィンドウサイズと自動クロスオーバー防止。
https://bitbucket.org/nimbusgb/windowed-seek-bar のMercurialリポジトリ
私はanothem/Android-range-seek-barライブラリを使用しました
https://github.com/anothem/Android-range-seek-bar
Xmlで
<org.florescu.Android.rangeseekbar.RangeSeekBar
Android:id="@+id/pricebar_with_label"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
rsb:absoluteMinValue="20"
rsb:absoluteMaxValue="150"
Android:layout_marginLeft="10dp"
Android:layout_marginRight="10dp"
/>
これ は、私が提案できる最高の1つです。