상세 컨텐츠

본문 제목

[Android] SeekBar event

Android 개발

by mobile 2013. 3. 24. 16:56

본문

반응형

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    <SeekBar android:id="@+id/seek"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:max="100"

        android:progress="50"

        android:secondaryProgress="75" />

    <TextView android:id="@+id/progress"

        android:layout_width="match_parent"

        android:layout_height="wrap_content" />

    <TextView android:id="@+id/tracking"

        android:layout_width="match_parent"

        android:layout_height="wrap_content" />

</LinearLayout>


import android.app.Activity;

import android.os.Bundle;

import android.widget.SeekBar;

import android.widget.TextView;


public class HelloSeekBar extends Activity implements

SeekBar.OnSeekBarChangeListener {


SeekBar mSeekBar;

TextView mProgressText;

TextView mTrackingText;


@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.seekbar_ex_01);


mSeekBar = (SeekBar) findViewById(R.id.seek);

mSeekBar.setOnSeekBarChangeListener(this);


mProgressText = (TextView) findViewById(R.id.progress);

mTrackingText = (TextView) findViewById(R.id.tracking);

}


@Override

public void onProgressChanged(SeekBar seeBar, int progress,

boolean fromTouch) {

// TODO Auto-generated method stub

mProgressText.setText(progress + " "

+ getString(R.string.seekbar_from_touch) + " = " + fromTouch);

}


@Override

public void onStartTrackingTouch(SeekBar arg0) {

// TODO Auto-generated method stub

mTrackingText.setText(getString(R.string.seekbar_tracking_on));

}


@Override

public void onStopTrackingTouch(SeekBar arg0) {

// TODO Auto-generated method stub

mTrackingText.setText(getString(R.string.seekbar_tracking_off));

}

}


SeekBar 요소의 속성은 막대바가 나타내는 값의 범위를 0부터 max값으로 설정하는 android:max 속성과 현재 추의 위치(또는 값)를 나타내는 android:progress 속성 그리고 두번 째 바의 값을 표시하는 android:secondaryProgress(옵션)으로 구성된다.


사용자가 식바의 추를 움직일 때마다 SeekBar.OnSeekBarChangeListener라는 이벤트 리스너를 통해 세 종류의 이벤트를 얻게 된다.


- onProgressChanged(SeekBar seekBar, int progress, boolean formTouch)

: 추가 움직일때 마다 변화되는 값을 매개변수로 제공한다. 매개변수 SeekBar는 어떤 식바인지에 대한 정보를 객체를 전달한다. progress는 사용자가 XML 요소의 android:progress 속성으로 변경된 추의 위치를 알려 준다. fromTouch는 사용자가 현재 계속 터치하고 있는 상태인지 알려준다.


- onStartTrackingTouch(SeekBar seekBar)

: 사용자가 손으로 지금 식바를 터치하였을 때 발생하는 이벤트이다. 매개변수로 전달되는 seekBar는 현재 사용자가 터치한 식바 객체이다.


- onStopTrackingTouch(SeekBar seekBar)

: 사용자가 식바에서 손을 뗏었을 때 발생하는 이벤트이다. 매개변수로 전달되는 seekBar는 현재 사용자가 손을 뗀 식바 객체이다.



반응형

'Android 개발' 카테고리의 다른 글

[Android]프로그레스바 이벤트  (0) 2013.03.31
[Android]RatingBar 이벤트  (0) 2013.03.31
[android]라디오 그룹 이벤트  (0) 2013.03.10
[Android] 뷰 이벤트  (0) 2013.03.10
[android]뷰의 화면 출력 과정  (0) 2013.03.09

관련글 더보기

댓글 영역