SeekBar를 사용하려고 하는데
max값과 progress값이 매 초당 1씩 증가합니다.
progress값은 좌우로 움직일때 일정값으로 -나 +가 되고
p를 누르면 progress값은 값이 증가하지않고 그대로 값을 유지하게 하려 합니다.
다른건 다 잘되는데
progress값을 계속 같은값으로 유지시킬때 ui상에서 progress의 위치가 변하질 않습니다.
값을 좌우로 움직이거나 다시 progress값을 1씩 증가시키게 하면
반영이 되는데 progress값을 특정값으로 고정시켜져 있을때는 화면에 반영이 되질 않습니다.
이건 어떠한 경우인가요..
SeekBar가 있으면 최대값과 progrees값이 있잖아요
각 값은 기본으로 1씩 계속 증가됩니다.
1초후에 최대값은 0에서 1이 되고 progress값도 0에서 1이 되고
다시 1초후에는 최대값은 1에서 2가되고 progress값도 1에서 2되겠죠
이상태에서는 ui의 progress상태가 최대치에 가있을겁니다. 시크바의 현재위치를 나타내는 바가 말이죠
그 상태에서 progress값은 시간이 흘러도 값이 증가하지 않게 해주면
최대값만 1초마다 1씩 증가하고 progress값은 시간이 흘러도 값이 1씩증가하지 않고 멈춰있게 해놓았습니다.
다시 값을 증가하게 할수도 있구요
그런데 그 상태에서 progress값을 증가시키지 않게하면 현재위치를 나타내는 바가 점점 왼쪽으로 가야겠죠?
현재위치의 값은 그대로인데 최대값은 증가하니까 값의 갭이 커지기 때문에 현재위치를 나타내는 값인 progress 위치는 점점 왼쪽으로 밀려야 합니다. 그리고 progress값을 증가시키지 않게했다가 다시 증가시키면 최대값과의 갭이 유지 되니까 조금씩 오른쪽으로 가구요
그런데 progress값을 증가시키지 않게 해놓았을때 progress위치가 왼쪽으로 밀리지 않고 값은 제대로 전달되지만 화면에서
progress위치가 증가시키지 않게 해놓았을때의 위치에 계속 있습니다. 다시 증가시키게 하면 값의 위치가 제대로 반영되구요
progress의 값을 증가시키지 않게 해놓았을때 화면에서 progress의 위치를 계속 반영해야하는데 그게 되질 않습니다..
소스가 있어야 될것 같네요.
의심되는거 하나는
progress값이 세팅되어 있는 상태에서 setMax를 하시면 progress는
이전의 위치와 현재의 위치를 비교하여 상대적으로 바뀝니다.
그러니까 setMax를 하시고 현재의 progress값으로 다시 setProgress를 해 주어야 합니다.
이해가 잘 안가네요.. 좀더 자세한 설명이 필요할듯요.