개발/android
seekbar로 만든 진행바에 터치가 안되게 하기
매몰
2020. 3. 24. 18:39
진행바를 seekbar로 만드는 경우, 터치 했을때 바가 움직여 버린다.
다음과 같이 간단히 막아버리자
class TouchlessSeekBar: SeekBar {
private var seek: Int
constructor(context: Context) : super(context)
constructor(context: Context, attrs: AttributeSet) : super(context, attrs)
constructor(context: Context, attrs: AttributeSet, defStyle: Int) : super(context, attrs, defStyle)
init {
seek = 0
thumb = ColorDrawable(Color.TRANSPARENT) //터치아이콘 숨기기
setOnSeekBarChangeListener(object : OnSeekBarChangeListener {
override fun onProgressChanged(seekBar: SeekBar?, progress: Int, user: Boolean) {
//사용자 조작이면 예전값으로 되돌림
if (user) {
seekBar?.progress = seek
}
}
override fun onStartTrackingTouch(seekBar: SeekBar?) {
}
override fun onStopTrackingTouch(seekBar: SeekBar?) {
}
})
}
override fun setProgress(progress: Int) {
super.setProgress(progress)
//현재값 저장
seek = progress
}
}
도움이 되셨다면~ 정성으로 빚은 저희 앱! 많은 이용 바래요:)
https://meorimal.com/index.html?tab=spaceship
https://meorimal.com/subway.html
사업자 정보 표시펼치기/접기
주식회사 머리말 | 고영진 | 서울특별시 송파구 중대로 135 서관 10층 (가락동, 아이티벤처타워) | 사업자 등록번호 : 524-88-00727 | TEL : 010-9990-3674 | Mail : gyjmeba@hanmail.net | 통신판매신고번호 : 2017-서울강남-03941호 | 사이버몰의 이용약관 바로가기