よく出てくるのが、シークバー。
つまみをタッチして、スライドさせるという
スマホっぽい機能です。
//シークバーを生成
SeekBar oSeek = new SeekBar(contextf型);
//初期値
oSeek.setProgress(int型);
//値の最大値を設定 oSeek.setMax(int型);
//値の取得
oSeek.getProgress();
//つまみの画像をチェンジ
oSeek.setThumb(Drawable型);
//背景画像を変更
oSeek.setProgressDrawable(Drawable型);
シークバーはわりとふつうな命令で無難に動くので、
特に挙動で困ることはないと思います。
下記にサンプルソースを上げます。
■サンプルソース
package com.example.nannka; import android.os.Bundle; import android.app.Activity; import android.widget.LinearLayout; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //基礎画面の作成 LinearLayout oLayout = new LinearLayout(getApplicationContext()); oLayout.setOrientation(LinearLayout.VERTICAL); setContentView(oLayout); //シークバーを生成 SeekBar oSeek = new SeekBar(getApplicationContext()); //初期値 oSeek.setProgress(10); //値の最大値を設定 oSeek.setMax(140); //背景画像を変更 // oSeek.setProgressDrawable( getResources().getDrawable(R.drawable.ic_launcher) ); //つまみの部分の画像を変更 oSeek.setThumb(getResources().getDrawable(R.drawable.ic_launcher)); //値変更時に呼ばれる oSeek.setOnSeekBarChangeListener( new OnSeekBarChangeListener() { public void onProgressChanged(SeekBar seekBar,int progress, boolean fromUser) { //動かすと呼ばれる Toast.makeText(getApplicationContext(), "設定値:" + seekBar.getProgress(), Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), "progress:" + String.valueOf(progress), Toast.LENGTH_SHORT).show(); } public void onStartTrackingTouch(SeekBar seekBar) { // 触れると呼ばれる } public void onStopTrackingTouch(SeekBar seekBar) { // 離すと呼ばれる seekBar.setSecondaryProgress(seekBar.getProgress()); } }); oLayout.addView(oSeek); } }■実行結果
こんな感じで完了です。
実用的に使用する際には黄色いバーの長さに気をつけてね。
0 件のコメント:
コメントを投稿