2017-12-02 20 views
-1

複数の親指でシークバーを作成するには、助けが必要です。
現在、私はシークバーを1〜100KMにしています。私は一定の間隔で親指を動かすことができます1,2,3,4,5,6,7,8,9など
私は親指を柔軟な間隔など1,2,5,10で動かすのに助けが必要です、20,50,100。複数の親指を持つシークバー

現在、私は次があります。

seekLocation.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
      txtDistanceIncrease.setText(UnitConverter.getSeekbarDistanceByType(prefUtils, progress)); 

     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 

     } 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 

     } 
    }); 
+0

であなたは、その後、プログラムのユーザー仕上がりがそれを動かすシークバーにそれらをスナップし、変化を検出することができます。 –

答えて

0

はねえ、あなたがバーを求める複数の親指を作成したい、ここでは2本の親指でシークバーを作成するためのライブラリです。 Double thumb seek bar

さらに親指を作成したい場合は、これを実行します。次に、このライブラリを例として取り上げました。マルチサムバーを作成します。

ありがとうございました。

0

ユーザーが進行状況バーを移動したときに、最も近い間隔でシークバーをスナップすることができます。 (例えば、10〜15スナップ10; 15〜30スナップ20、等...)以下のようになる。

int[] x_value = {1,2,5,10,20,50,100,..}; 
int maxValue = maxOf(x_value); 
int minValue = minOf(x_value); 

seekbar.setMax(maxValue -minValue); 

その後、シークバーonProgressChangedリスナー

onProgressChanged(SeekBar seekBar, int progress, boolean fromUser){ 

    if(fromUser){ 
    int x = progress + minValue; 
    //snap progress to the nearest x_value 
    int nearestX = getNearestXValue(x, x_value); 
    seekbar.setProgress(nearestX); 

    updateChartline(nearestX); 
    } 

} 
+0

ありがとうございます。私は現在持っているコードを見せただけです。 答えの最初の部分はどこに挿入すればよいですか?ありがとう – user3573672

+0

シークバーのfindViewByIdを呼び出した直後に最初の部分を挿入することができます。 –

関連する問題