수색…


소개

Alex Florescu가 https://github.com/anothem/android-range-seek-bar 에서 제안한 Android RangeSeekBar의 맞춤 설정

검색 막대를 움직일 때 단계 값 (증분)을 정의 할 수 있습니다.

비고

1 - attrs.xml에 증가 속성을 추가합니다.

<attr name="increment" format="integer|float"/>

2 - RangeSeekBar.java에 기본값을 정의하고 속성도 생성하십시오.

private static final int DEFAULT_INCREMENT = 1;
private int increment;

3 - private void init (Context context, AttributeSet attrs)에서 증가 값 초기화

if (attrs == null) 
    increment = DEFAULT_INCREMENT;
else 
    increment = a.getInt(R.styleable.RangeSeekBar_increment, DEFAULT_INCREMENT);

4 - 보호 된 동기화 void onDraw (@NonNull 캔버스 캔버스)의 증분 값 정의

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