SeekBar:A SeekBar is an extension of ProgressBar that adds a draggable thumb. The user can touch the thumb and drag left or right to set the current progress level or use the arrow keys. Placing focusable widgets to the left or right of a SeekBar is discouraged.android
上面是官方的定义。web
什么是SeekBar控件,SeekBar控件其实就是一个高级点的进度条,就像咱们在听歌,看电影用的播放器上的进度条同样,是能够拖动的,能够改变进度的一个进度条控件!就是下面这个样子:app
下面来看如何使用SeekBar,用一个例子来讲,功能很是简单,Activity上就是一个SeekBar和一个TextView,当咱们拖动SeekBar的进度时,在下面的TextView中显示相应的进度变化!ide
第一步:定义Activity 学习
在main.xml文件中加上一个SeekBar和一个TextViewspa
<?xml version="1.0" encoding="utf-8"?>orm
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xml
android:orientation="vertical"对象
android:layout_width="fill_parent"blog
android:layout_height="fill_parent"
>
<SeekBar
android:id="@+id/seekbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
</SeekBar>
<EditText
android:id="@+id/edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
</EditText>
</LinearLayout>
第二步:编写Activity
package com.gufengxiachen.counter;
import android.app.Activity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
public class CounterActivity extends Activity {
/** Called when the activity is first created. */
//定义一个SeekBar和一个TextView
private SeekBar seekBar;
private TextView textView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//根据ID值取得SeekBar对象
seekBar = (SeekBar)findViewById(R.id.seekbar);
seekBar.setMax(100);
//为SeekBar设置监听器(这里使用匿名内部类)
seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
//复写OnSeeBarChangeListener的三个方法
//第一个时OnStartTrackingTouch,在进度开始改变时执行
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
//第二个方法onProgressChanged是当进度发生改变时执行
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
textView = (TextView)findViewById(R.id.edit);
int i= seekBar.getProgress();
textView.setText(""+i);
}
//第三个是onStopTrackingTouch,在中止拖动时执行
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
textView = (TextView)findViewById(R.id.edit);
int i= seekBar.getProgress();
textView.setText(""+i);
}
});
}
}
通过上面简单的步骤一个简单的SeekBar应用就完成了,其实其余不少控件使用方法都同样,首先定义控件,而后取得控件对象,添加监听器,最后在监听器的相应方法里实现功能!!
最后祝你们学习愉快!!!