【控件分析】
在日常使用生活中,我们接触到的播放器一般都有一个播放进度控制条,那个进度控制条其实就对应着Android基础控件库中的SeekBar控件。这个控件本质上是一个进度可由用户手动操作的进度条。
【动画效果】
【代码展示】
public class MainActivity extends AppCompatActivity {
private SeekBar seekBar = null;
private String TAG = this.getClass().getSimpleName();
private TextView textView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.process_val);
seekBar = (SeekBar) findViewById(R.id.test_seekbar);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
Log.d(TAG, "onProgressChanged, progress is:" + progress);
textView.setText(Integer.toString(progress));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
Log.d(TAG, "onStartTrackingTouch");
Toast.makeText(MainActivity.this, "开始设置进度", Toast.LENGTH_SHORT).show();
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
Log.d(TAG, "onStopTrackingTouch");
Toast.makeText(MainActivity.this, "停止设置进度", Toast.LENGTH_SHORT).show();
}
});
}
}
【个人总结】
- SeekBar是一个进度可由用户自己手动设置的进度条
- onProgressChanged中参数fromUser可标识来自用户手动的设置值还是进度自动更新值