마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

시크바의 Thumb이 위치하는 X좌표를 얻고 싶습니다.

0 추천
혼자 투닥투닥 공식짜서 해보는데 자꾸 가져오는 위치가 정확하지 않네요.

ㅠㅠ

SeekBar의 Thumb을 움직일때마다 Thumb가 위치한 X좌표를 얻으려면 어찌해야될까요.ㅠㅠ

Thumb의 정가운데 위에 말풍선이 따라다니게 하고 싶습니다.ㅠㅠ
갸아악 (21,260 포인트) 님이 2015년 3월 24일 질문

1개의 답변

+1 추천
 
채택된 답변
예전에 TextView 따라다니게 한적 있는데 그때 사용한 xPos 구하는 방법입니다.
저도 구글링으로 찾아했었는데, 원문이 어디였는지는 기억이 안나네요.
 
int padding= seekBar.getPaddingLeft() + seekBar.getPaddingRight();
int sPos = seekBar.getLeft() + seekBar.getPaddingLeft();
int xPos = (seekBar.getWidth()-padding) * seekBar.getProgress() / seekBar.getMax() + sPos - (view.getWidth()/2);
 
view.setX(xPos);
 
view의 android:gravity="center" 주시면 정가운데 따라 다닐겁니다.
띠깔라1 (4,200 포인트) 님이 2015년 3월 24일 답변
갸아악님이 2015년 5월 8일 채택됨
감사합니다 .해보겠습니다.
스택오버플로에 있는 애들 해봣는데 이동할때마다 미묘하게 점점더 차이가 벌어지더군요 ㅠ
근데 setX할 view가 렐러티브인데 상관없나요?
감사합니다. 아주 좋은 코드네요.
이 코드를
SeekBar.OnSeekBarChangeListener안의
public void onProgressChanged 함수 안에 넣어주면 잘 작동됩니다.
...