サーチ…


前書き

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