实现能定点移动的seekbar
16lz
2021-12-04
布局xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/seep" android:id="@+id/seep" /> <SeekBar android:id="@+id/seekbar" android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>
java代码
public class SeekBarActivity extends Activity {private SeekBar seekbar;private TextView tv ;int max=100;boolean flag = true;private Handler handler = new Handler(){public void handleMessage(Message mes){seekbar.setProgress(seekbar.getProgress()+1);} }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); seekbar = (SeekBar)findViewById(R.id.seekbar); tv = (TextView)findViewById(R.id.seep); seekbar.setMax(max); seep(); seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {tv.setText("进度为:"+progress+"%");}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {//停止刷新flag=false;}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {flag=true;handler.sendEmptyMessage(0);} }); } private void seep(){ DisThread dt = new DisThread(); dt.start(); } class DisThread extends Thread{ public void run(){ while(flag && seekbar.getProgress()<max){ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } handler.sendEmptyMessage(0); } } }}
更多相关文章
- Android的Activity实时刷新
- Android进度条、自动提示框、下拉框动态数据加载
- Android圆形进度条
- Android(安卓)自定义ProgressBar--进度自己设置图片
- Android文件下载进度条的实现
- android之实现ProgressBar进度条组件
- Android(安卓)Timer 更好方法
- Android-Google自己的下拉刷新组件SwipeRefreshLayout
- Activity 技巧 屏幕 进度条 控制