2017-12-02 19 views
-1

여러 개의 엄지로 탐색 바를 만드는 데 도움이 필요합니다.
현재, 나는 1 백 킬로미터에서가는 seekbar가있다. 고정 간격으로 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

을 onProgressChanged. –

답변

0

이봐, 당신이 줄을 추구 여러 엄지 손가락을 만들려면 여기에 두 엄지 손가락으로 검색 막대를 생성하기위한 라이브러리입니다. Double thumb seek bar

그러면 더 엄지 손가락을 만들고 싶습니다. 그런 다음이 라이브러리를 예로 들었습니다. 그리고 멀티 엄지 seebar를 만듭니다.

감사와 즐거운 코딩.

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); 

다음 검색 막대에서 당신은 사용자 마무리를 이동할 때 다음 프로그램에서 SeekBar에 스냅 변화를 감지 할 수있는 리스너

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

seekbar에 대한 seekbar를 호출 한 직후 첫 번째 부분을 삽입 할 수 있습니다. –