[Android] SeekBar 基本使用

【控件分析】

  在日常使用生活中,我们接触到的播放器一般都有一个播放进度控制条,那个进度控制条其实就对应着Android基础控件库中的SeekBar控件。这个控件本质上是一个进度可由用户手动操作的进度条。

【动画效果】

[Android] SeekBar 基本使用_第1张图片

【代码展示】

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();
            }
        });
    }
}

【个人总结】

  1. SeekBar是一个进度可由用户自己手动设置的进度条
  2. onProgressChanged中参数fromUser可标识来自用户手动的设置值还是进度自动更新值

你可能感兴趣的:(Android开发基础)