안드로이드스튜디오

[Java] 안드로이드 seekbar 구현 (세로 seekbar)

eunda_coding 2022. 12. 22. 11:22

1) Seekbar 세로 버전

        <SeekBar
            android:id="@+id/progress"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:max="22"
            android:min="0"
            android:progress="15"
            android:progressDrawable="@drawable/progress"
            android:rotation="270"
            android:splitTrack="false"
            android:thumb="@drawable/ic_control"
            android:thumbOffset="2px"
            app:layout_constraintBottom_toBottomOf="@id/bg"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="@id/bg" />

 

android:rotation을 이용해서 가로 뿐만 아니라 다양한 각도로 활용 가능하다

android:thumb는 seekbar 올리고 내리는 부분에 위치할 이미지 값을 설정할 수 있다

min과 max 값을 설정해 주어서 얼만큼 단위를 사용해서 구현할 지 결정

 

2) seekbar 0.5 단위씩 증감

  climate_progress.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
                    temp.setText(String.valueOf(Common.getInstance().climateProgress * 0.5 + 16.5));
                    temperature_unit.setVisibility(View.VISIBLE);
                }
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
            }
        });

seekbar에서 1단위씩 증가 감소하는 예제는 많이 볼 수 있었으나 0.5씩 증가하는 예제는 찾아볼 수 없어서 좀 힘들었다