UI设计
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/textview2"
android:layout_width="wrap_content"
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
package com.example.android_seekbar;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
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) this.findViewById(R.id.textview1);
textView2 = (TextView) this.findViewById(R.id.textview2);
seekBar1 = (SeekBar) this.findViewById(R.id.seekbar1);
seekBar2 = (SeekBar) this.findViewById(R.id.seekbar2);
seekBar1.setOnSeekBarChangeListener(this);
seekBar2.setOnSeekBarChangeListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
// 当滑动滑竿时候触发的事件
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// 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结束拖动!");
}
}
}
知识点
android:progress="30"第一进度条位置
android:secondaryProgress="60"第二进度条位置
第一进度条和第二进度条概念和播放器进度条的播发位置,和缓冲位置类似。