2017-10-26 20 views
-1

このリンクを使用しているhttps://github.com/Jay-Goo/RangeSeekBar。このrangeseekbarモジュールをインポートして、最小値と最大値をプログラマチックに設定します。最小値と最大値を動的に設定する方法は?

ここでは、Javaコード、

 seekbar1.setOnRangeChangedListener(new RangeSeekBar.OnRangeChangedListener() { 
     @Override 
     public void onRangeChanged(RangeSeekBar view, float min, float max, boolean isFromUser) { 
      seekbar1.setProgressDescription((int)min+Sdistance_meter); 

      int intvalue = (int)Math.round(min); 
      System.out.println("*********venki****driverradius***"+intvalue); 
      String mytext=String.valueOf(intvalue); 

      Tv_res.setText(mytext+Sdistance_meter); 


     } 
    }); 

JSONレスポンス、私は私のrangeseekbarにMIN_VALUEとMAX_VALUEを設定する必要が

{ 
"status": "1", 
"response": { 
    "min_value": "1000", 
    "max_value": "5000", 
    "coverage_distance": "100", 
    "distance_meter": "m", 
    "text": "Area distance coverage by given the value" 
} 
} 

答えて

2

ライブラリのソースにあります。

public void setRange(float min, float max) { 
    setRules(min, max, reserveCount, cellsCount); 
} 

だからあなたはあなたが使用1.if seekbar1.setRange(min_value,max_value);

を使用することができますapp:seekBarMode="single"

XML

<com.jaygoo.widget.RangeSeekBar 
    android:id="@+id/seekbar1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:markTextArray="@array/markArray" 
    app:lineColorSelected="@color/colorAccent" 
    app:thumbResId="@drawable/seekbar_thumb" 
    app:lineColorEdge="@color/colorSeekBarDefault" 
    app:cellMode="number" 
    app:seekBarMode="single"/> 

javaの

seekbar1 = (RangeSeekBar) findViewById(R.id.seekbar1); 
    seekbar1.setRange(1000.0f, 5000.0f); 

    seekbar1.setOnRangeChangedListener(new RangeSeekBar.OnRangeChangedListener() { 
     @Override 
     public void onRangeChanged(RangeSeekBar view, float min, float max, boolean isFromUser) { 
      seekbar1.setProgressDescription((int) min + "%"); 
     } 
}); 

あなたはapp:seekBarMode="range"

を使用する2.IfはXMLコードにapp:progressHintMode="alwaysShow"app:min="-1" app:max="1"を削除します。

<com.jaygoo.widget.RangeSeekBar 
    android:id="@+id/seekbar2" 
    android:layout_width="match_parent" 
    android:layout_height="120dp" 
    app:markTextArray="@array/markArray2" 
    app:lineColorSelected="@color/colorAccent" 
    app:lineColorEdge="@color/colorSeekBarDefault" 
    app:textPadding="17dp" 
    app:thumbPrimaryColor="@color/colorSeekBarDefault" 
    app:thumbSecondaryColor="@color/colorAccent" 
    app:seekBarHeight="4dp" 
    app:thumbSize="20dp" 
    app:cellMode="number" 
    app:seekBarMode="range"/> 

javaの

seekbar2 = (RangeSeekBar) findViewById(R.id.seekbar2); 
    seekbar2.setRange(1000.0f, 5000.0f); 

    seekbar2.setOnRangeChangedListener(new RangeSeekBar.OnRangeChangedListener() { 
     @Override 
     public void onRangeChanged(RangeSeekBar view, float min, float max, boolean isFromUser) { 
      seekbar2.setLeftProgressDescription((int) min + ""); 
      seekbar2.setRightProgressDescription((int) max + ""); 
     } 
    }); 
+1

これは私のために働いていません。そのライブラリでは、mMin = t.getFloat(R.styleable.RangeSeekBar_min、1000); mMax = t.getFloat(R.styleable.RangeSeekBar_max、5000);したがって、ここで設定したものはすべて反映されます。 –

+0

そして 'seekBarMode'はどちらを使いますか? – KeLiuyue

+0

あなたはそれをチェックすることができます。 – KeLiuyue

関連する問題