Android SeekBar 实现与控制

需积分: 10 0 下载量 103 浏览量 更新于2024-09-09 收藏 2KB TXT 举报
"Android 进度条简单实现" 在Android应用开发中,进度条(SeekBar)是一种常用的UI组件,用于展示或控制一个操作的进度。本示例代码展示了如何在Activity中创建并使用SeekBar,以及如何与之交互来更新进度。 在给定的代码中,我们看到一个名为`SeekBarActivity`的类,它继承自`Activity`。在这个类中,有以下几个关键元素: 1. `SeekBar sb`: 这是进度条对象,通过`findViewById(R.id.seekBar1)`获取。 2. `TextView tv`: 用于显示进度值的文本视图。 3. `Button b`: 通常用于触发某些操作,比如开始或停止进度更新。 4. `boolean tflag, flag`: 用于控制线程的启动和停止。 5. `Thread t`: 自定义的线程类`MyThread`,用于更新进度条。 在`onCreate`方法中,布局被加载并初始化了各个组件,同时启动了`MyThread`线程。线程会在后台运行,不断更新进度条的值。 `get`方法用于设置进度条的进度,每次调用时将`i`值加1,并设置到`SeekBar`上。 `start`方法是按钮点击事件的处理函数。在这里,`tflag`变量用于控制是否允许线程更新进度。当用户点击按钮时,`tflag`会被设置为`false`,阻止线程继续更新进度。 `MyThread`类扩展了`Thread`,并在`run`方法中包含了一个循环,该循环会持续检查`flag`变量的值。如果`flag`为`true`,则调用`get`方法更新进度条。此外,`SeekBar`还设置了一个`OnSeekBarChangeListener`,以便在用户手动拖动进度条时可以监听到进度改变。 `OnSeekBarChangeListener`的`onProgressChanged`方法会被调用,当进度条的值发生变化时,但在这个示例中,这个监听器没有进行任何操作,仅提供了一个空实现。 总结来说,这段代码演示了如何创建一个简单的进度条,以及如何通过自定义线程动态更新其进度。同时,它还展示了如何通过按钮控制进度更新的开始和结束,以及如何监听进度条的用户交互。这对于那些需要展示或控制长时间运行任务进度的应用场景非常有用。