Androidアプリ用に ディスクリートシークバー を作成しようとしています。
SeekBar
の最大値と最小値を設定できることはわかっています(私の理想的な解決策は、以下のClickの例です)が、バーを使用して、特定の間隔でスライダーを上下に移動します。私の場合は10ごとです。したがって、SeekBar
で使用できるオプションは次のとおりです。
特定の値を標準Android SeekBar
に定義すること、または少なくともアイテム間の間隔を変更することは可能ですか?そうでない場合は、カスタムシークバーで可能ですか?これに対処するものがオンラインで見つかりませんでした(Android少なくとも-Googleマテリアルデザインガイドラインで認識されているコンポーネントとしてイライラする)。
このリンクを確認してください サードパーティのライブラリを使用せずにギャップ数のある個別のシークバーを実装する場合は、シークバーのスタイルプロパティを使用します。
<SeekBar
Android:id="@+id/sb"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:max="10"
Android:thumb="@drawable/ic_location"
Android:theme="@style/Widget.AppCompat.SeekBar.Discrete" />
Android SeekBar
は間隔を設定できませんが、範囲が[0、10]になるように、最大値を10に設定できます。また、値を取得する場合はいつでもSeekBar
の値に10を掛けて、0、10、20、30、..の間隔で「シミュレート」できるようにします。