Deperecated/Android_강의

안드로이드 - SeekBar

누알라리 2020. 2. 8. 00:04
1. SeekBar란?

- ProgressBar와 매우 유사하지만 사용자가 값을 직접 설정할 수 있는 기능을 갖추고 있다.

 

2. 리스너

- OnSeekBarChangeListener

- SeekBar의 값이 변경되었을 때 반응하는 리스너

 

2. 주요 속성
속성 설명
style 스타일
max 최대 값
progress 현재 값

 

3. 주요 메서드
메서드 설명
incrementProgressBy 지정된 값 만큼 증가 혹은 감소시킨다.
onProgressChanged() SeekBar 값이 변경되었을 때(코드로 바꾼 경우, 유저가 바꾼 경우)
onStartTrackingTouch() 값을 변경하기 위해 사용자가 터치했을 때
onStopTrackingTouch() 값을 변경한 후 터치를 떼었을 때

 

4. 리스너를 객체로 만들어 붙인 경우
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        var listener2 = SeekListener();
        seekBar.setOnSeekBarChangeListener(listner2);
    }

    inner class SeekListener:SeekBar.OnSeekBarChangeListener
    {

        // SeekBar 값이 변경되었을 때(코드로 바꾼경우, 유저에 의해 바뀐 경우)
        override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {

        }

        // 값을 변경하기 위해 사용자가 터치했을 때
        override fun onStartTrackingTouch(seekBar: SeekBar?) {

        }

        // 값을 변경한 후 터치를 때었을 때
        override fun onStopTrackingTouch(seekBar: SeekBar?) {
            4
        }
    }

 

5. 오버라이딩할 메소드가 2개 이상이기 때문에 람다식 말고 익명 중첩 클래스로 리스너를 만든 경우
        //오버라이딩 할 함수가 2개 이상이라면 익명 중첩 클래스를 이용하는게 좋다.
        seekBar2.setOnSeekBarChangeListener( object : SeekBar.OnSeekBarChangeListener {
            override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {

            }

            override fun onStartTrackingTouch(seekBar: SeekBar?) {

            }

            override fun onStopTrackingTouch(seekBar: SeekBar?) {

            }

        })

'Deperecated > Android_강의' 카테고리의 다른 글

안드로이드 - ImageView  (0) 2020.02.08
안드로이드 - EditText  (0) 2020.02.08
안드로이드 - Progress Bar  (0) 2020.02.07
안드로이드 - 라디오 버튼  (0) 2020.02.07
안드로이드 - CheckBox  (0) 2020.02.07