シークバーを表示する |
ここではシークバーを表示する方法を説明します。 シークバーはツマミを左右に移動させてパラメータを調整するGUI部品で、 音量調整なんかを表現するためによく用いられます。 シークバーの動作を「OnProgressChanged」関数で取得し、任意の処理を行うことができます。 SeekbarActibity.java package goodroid.sample.seekbar; import android.app.Activity; import android.os.Bundle; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; public class SeekbarActivity extends Activity implements OnSeekBarChangeListener{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // シークバーインスタンスの取得 SeekBar seekBar = (SeekBar)findViewById(R.id.seekBar1); // シークバーの最大値を100に設定 // seekBar.setMax(100); // 初期値を30に設定 // seekBar.setProgress(30); // シークバーをリスナーに設定 seekBar.setOnSeekBarChangeListener(this); } public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // つまみを移動させたときに呼ばれる } public void onStartTrackingTouch(SeekBar seekBar) { // つまみに触れたときに呼ばれる } public void onStopTrackingTouch(SeekBar seekBar) { // つまみを離したときに呼ばれる } } アクティビティでは以下の関数を用いてシークバーの変化を確認し、処理を分けることができます。 ◆onProgressChanged // つまみを移動させたとき ◆onStartTrackingTouch // つまみに触れたとき ◆onStopTrackingTouch // つまみを離したとき シークバーを表示するためにはSeekBarクラスを用います。 シークバーの最大値、初期値はJavaでもXMLでも設定できますが、今回はXMLで設定しています。 Javaで変更する際は上記ソースコードのように「setMax」関数、「setProgress」で行えます。 XMLの場合は以下のソースコードのように「android:max」で最大値を、「android:progress」で初期値を与えることができます。 main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" android:progress="30" /> </LinearLayout> 実行結果 ![]() |
6908 views | コメント:0 | 2012-05-23 |
コメント
|
|
まだこの記事にコメントはありません |