您的位置:首页 > 其它

安卓控件使用系列13:SeekBar滑动控件的使用

2015-10-02 16:53 344 查看
安卓中SeekBar控件是用于拖动的一种控件,下面来介绍一下它的使用方法。

这个例子实现的是滑动SeekBar控件,在TextView控件上显示开始或停止拖动和所拖动到的位置。

整体思路:在布局文件中定义两个TextView控件和两个SeekBar控件,第一个SeekBar控件设置max、progress属性,第二个SeekBar控件设置max、progress、secondaryProgress(第二进度)属性;在活动中实现OnSeekBarChangeListener,对每个SeekBar控件设置setOnSeekBarChangeListener这个方法,onProgressChanged是滑动滑杆的时候触发的事件,根据不同的SeekBar控件来显示滑动的位置;onStartTrackingTouch是从哪里开始滑动的方法,根据不同的SeekBar控件来显示该控件开始滑动;onStopTrackingTouch是从哪里结束滑动的方法,根据不同的SeekBar控件来显示该控件结束滑动。通过这样的一个实际的例子可以让开发人员很好的理解SeekBar控件各个事件的作用和使用方法。

activity_main.xml文件:

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/textview2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<SeekBar
android:id="@+id/seekbar1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="30"
/>

<SeekBar
android:id="@+id/seekbar2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="30"
android:secondaryProgress="60"
/>
</LinearLayout>
MainActivity.java文件:

public class MainActivity extends Activity implements OnSeekBarChangeListener {
private TextView textview1,textview2;
private SeekBar seekbar1,seekbar2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview1=(TextView)findViewById(R.id.textview1);
textview2=(TextView)findViewById(R.id.textview2);
seekbar1=(SeekBar)findViewById(R.id.seekbar1);
seekbar2=(SeekBar)findViewById(R.id.seekbar2);
seekbar1.setOnSeekBarChangeListener(this);
seekbar2.setOnSeekBarChangeListener(this);
}

//	当滑动滑杆的时候会触发的事件
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean arg2) {
// TODO Auto-generated method stub
if(seekBar.getId()==R.id.seekbar1){
textview2.setText("seekbar1的当前位置是:"+progress);
}else{
textview2.setText("seekbar2的当前位置是:"+progress);
}
}

//	从哪里开始拖动
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
if(seekBar.getId()==R.id.seekbar1){
textview1.setText("seekbar1开始拖动!");
}else{
textview1.setText("seekbar2开始拖动!");
}
}

//	从哪里结束拖动
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
if(seekBar.getId()==R.id.seekbar1){
textview1.setText("seekbar1停止拖动!");
}else{
textview1.setText("seekbar2停止拖动!");
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: