2011-12-23 6 views
4

사용자가 탐색 막대를 만들 때 사용자가 진행률을 바꿀 때 진행 막대의 색상이 빨간색과 파란색 사이에서 변경됩니다.진행률에 따라 탐색 바 진행 색상을 변경하는 방법은 무엇입니까?

나는 그것을 시도했지만 진행 막대 색상이 아닌 배경색 만 변경했다.

seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 

      public void onStopTrackingTouch(SeekBar seekBar) { 
       // TODO Auto-generated method stub 

      } 

      public void onStartTrackingTouch(SeekBar seekBar) { 
       // TODO Auto-generated method stub 

      } 

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


       seekBar.setBackgroundColor(Color.RED + progress); 

      } 
     }); 

답변

5

이 작업을 수행하는 방법이 많이 나는 '있다 간단한 방법으로 말할 것입니다. 당신은 다음과 같이 progressBackground의 색상을 설정할 수 있습니다 : 당신의 API 레벨 21, 당신은 getProgressBackgroundTintList 또는 getProgressBackgroundTintMode을 사용할 수 있습니다

seekBar.getProgressDrawable().setColorFilter("<Color you wish>", PorterDuff.Mode.MULTIPLY); 

경우().

+0

사전 Lollipop에서 Seekbar 진행 상황의 색조는 변경되지 않습니다. –

+1

@IgorGanapolsky 사전 롤리팝으로 테스트했는데 정상적으로 작동합니다! – uiltonsantos

관련 문제