본문 바로가기
개발/android

seekbar로 만든 진행바에 터치가 안되게 하기

by 매몰 2020. 3. 24.

 

진행바를 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

 

우주선 - 방치형 인공지능 투자 체험기

미리 맛보는 인공지능 투자!

(주)머리말 meorimal.com

 

https://meorimal.com/subway.html

 

지하철어디있니

더이상 고민하지 마세요. 뛸지 말지 딱 보면 알죠.

(주)머리말 meorimal.com

 

사업자 정보 표시
주식회사 머리말 | 고영진 | 서울특별시 송파구 중대로 135 서관 10층 (가락동, 아이티벤처타워) | 사업자 등록번호 : 524-88-00727 | TEL : 010-9990-3674 | Mail : gyjmeba@hanmail.net | 통신판매신고번호 : 2017-서울강남-03941호 | 사이버몰의 이용약관 바로가기