SeekBar(드래그 바)


이 섹션 소개:

이 섹션에서는 Android의 기본 UI 컨트롤인 SeekBar에 대해 계속해서 학습합니다. 이는 모두가 가장 일반적이라고 생각합니다. 장소는 음악 플레이어나 비디오 플레이어입니다. 볼륨 조절이나 재생 진행 조절은 모두 이 SeekBar를 사용합니다. 먼저 SeekBar의 클래스 구조를 살펴보고 공식 문서로 이동해 보겠습니다. SeekBar

1.png

이건 ProgressBar의 하위 클래스입니다. 즉, ProgressBar의 모든 속성을 사용할 수 있습니다! 또한 자체 속성인 android:thumb도 있어 슬라이더를 맞춤설정할 수 있습니다~ 좋아요, 이제 이 섹션을 시작하겠습니다!


1. SeekBar

기본 사용법은 실제로 매우 간단합니다. Java 코드에서는 다음과 같은 속성만 사용하면 됩니다.

android:max= "100" // 슬라이딩 바의 최대값

Android: Progress = "60" // 슬라이딩 바의 현재 값

Android: secondprogress = "70" // 두 번째 진행률 - level Sliding bar android:thumb

= "@mipmap/sb_icon" //Slider drawable

그런 다음 SeekBar 이벤트인

SeekBar.OnSeekBarChangeListener
에 대해 이야기해 보겠습니다. 세 가지 해당 메서드만 다시 작성하면 됩니다.

onProgressChanged
: 진행 상황이 변경되면 트리거됩니다

onStartTrackingTouch

: SeekBar를 길게 누르면 트리거됩니다

onStopTrackingTouch

: SeekBar가 해제될 때 트리거됩니다

간단한 코드 예:

렌더링:

2.gif구현 코드:

public 클래스 MainActivity는 AppCompatActivity를 확장합니다.{

    private SeekBar sb_normal;
    private TextView txt_cur;
    private Context mContext;

    @Override
    protected void onCreate(Bund le savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R. layout.activity_main);
        mContext = MainActivity.this;
        bindViews();
    }

    private void bindViews() {
        sb_normal = (SeekBar) findViewById(R.id. sb_normal);
        txt_cur = (TextView) findViewById( R.id.txt_cur);
        sb_normal.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
          @Override
           public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
               txt_cur.setText("当前进島值:" + 진행 + "  / 100 ");
            }

          @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
               Toast.makeText(mContext, "触碰SeekBar", Toast.LENGTH_SHORT).show();
            }

            @Override ㅋㅋㅋ      });
    }
}



2. 간단한 SeekBar 사용자 정의:

원래는 SeekBar를 사용자 정의하려고 생각했지만, 사용자 정의 보기와 관련된 일부 사항은 초보자에게 유용하지 않을 수 있습니다. 이해가 잘 안되고, 뷰 커스터마이징은 좀 어려울 것 같아서 고급섹션에 두는 게 좋을 것 같아서 간단하게 SeekBar 커스터마이징을 해보겠습니다. 사용자 정의 가능한 콘텐츠에는 슬라이더와 레일이 포함됩니다!

코드 예:

렌더링 실행 중:

3.gif

코드 구현: 1. 슬라이더 상태 Drawable: sb_thumb.xml

< ;?xml 버전=" 1.0" 인코딩="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android: drawable="@mipmap/seekbar_thumb_pressed"/>
<item android:state_pressed="false" android:drawable="@mipmap/seekbar_thumb_normal"/>
</selector>

2. Bar Drawable: sb_bar.xml

레이어 목록 드로어블 리소스가 여기에 사용됩니다! 실제로는 배경, 보조 진행률 표시줄, 현재 진행률:

<?xml version="1.0" 인코딩="utf-8"?>
<layer-list
순으로 적층된 이미지입니다. xmlns:android ="http://schemas.android.com/apk/res/android">
                                                                 =" #FFFFD042" />
                                                                                                          > ;
; <클립>
                                                                                   ~ >

3. 그런 다음 SeekBar를 레이아웃에 도입한 후 ProgressDrawable과 Thumb을 설정합니다!

<SeekBar
android:id="@+id/sb_normal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxHeight="5.0dp"
 android:minHeight= " 5.0dp"
                                                                                                                                                                                       to           ’ t t — 안드로이드:          
이 섹션 요약:

네, SeekBar는 여기까지입니다. 모두 감사합니다~