Android
カスタムRangeSeekBarのステップ値(インクリメント)を定義する
サーチ…
前書き
Alex Florescuが提案したAndroid RangeSeekBarのカスタマイズはhttps://github.com/anothem/android-range-seek-barです。
シークバーを動かすと、ステップ値(インクリメント)を定義することができます
備考
1- attrs.xmlに増分属性を追加する
<attr name="increment" format="integer|float"/>
2 - RangeSeekBar.javaのデフォルト値を定義し、属性も作成します
private static final int DEFAULT_INCREMENT = 1;
private int increment;
3-プライベートvoid init(Context context、AttributeSet attrs)でインクリメント値を初期化する
if (attrs == null)
increment = DEFAULT_INCREMENT;
else
increment = a.getInt(R.styleable.RangeSeekBar_increment, DEFAULT_INCREMENT);
4 - 保護された同期化されたボイドのインクリメント値を定義するonDraw(@NonNull Canvas canvas)
minTextとmaxTextの値を置き換える必要があります。だから代わりに:
- minText = valueToString(getSelectedMinValue());
- maxText = valueToString(getSelectedMaxValue());
あなたは持っているでしょう:int x;
x = (int) ((getSelectedMinValue().intValue()+increment)/increment);
x = x*increment;
if (x<absoluteMaxValue.intValue())
minText = ""+x;
else
minText=""+(absoluteMaxValue.intValue()-increment);
x = (int) ((getSelectedMaxValue().intValue()+increment)/increment);
x = x*increment;
maxText = ""+x;
5 - 今すぐ使用する必要があります。それが役に立てば幸い
ステップ値7を定義する
<RangeSeekBar
android:id="@+id/barPrice"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:barHeight="0.2dp"
app:barHeight2="4dp"
app:increment="7"
app:showLabels="false" />
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow