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 |